【技术实现步骤摘要】
本专利技术属于计算机应用领域,尤其涉及一种资源共享的方法及系统。
技术介绍
当多个进程或线程并发访问同一个资源时,为了保证资源的一致性,必须遵守互斥规则。在具体实现时,互斥规则主要包括共享锁(也称为读锁)和互斥锁(也称为写锁) 两种。其中共享锁是指多个进程或线程可以同时访问资源,但不能修改资源。即当某个进程或线程在访问资源,不是修改资源时,对该资源增加共享锁,则其他进程或线程可以访问该资源,但不可以修改该资源。其中互斥锁是指多个进程或线程不可以同时访问资源。即当某个进程或线程访问资源(一般是修改资源)时,其他进程或线程此时都不能在访问(包括读取和修改)该资源。因此,需要一种技术来按照互斥规则实现资源共享。现有技术提供了一种通过信号量的方式来按照互斥规则实现资源共享的方法,简述如下声明一个semaphore对应一个资源,目前主流的semaphore有两种,一种是SYSV的 semaphore,使用semop申请或释放锁,一种是POSIX的semaphore,使用sem_wait申请锁, 使用sem_post释放锁,SYSV的semaphore个数是有限制的,PO ...
【技术保护点】
1.一种资源共享的方法,其特征在于,所述方法包括下述步骤:设置资源与文件中的字节之间的对应关系;当进程访问资源时,针对文件中与该资源对应的字节申请文件锁,并在文件锁申请成功后,进程按照申请的文件锁访问资源;当进程释放资源时,解除进程针对文件中该资源对应的字节申请的文件锁。
【技术特征摘要】
1.一种资源共享的方法,其特征在于,所述方法包括下述步骤 设置资源与文件中的字节之间的对应关系;当进程访问资源时,针对文件中与该资源对应的字节申请文件锁,并在文件锁申请成功后,进程按照申请的文件锁访问资源;当进程释放资源时,解除进程针对文件中该资源对应的字节申请的文件锁。2.如权利要求1所述的方法,其特征在于,在所述针对文件中与该资源对应的字节申请文件锁的步骤之后,所述方法还包括下述步骤判断文件锁申请是否成功,如果是,进程按照申请的文件锁访问资源,并在访问完毕后,释放资源,解除针对文件中该资源对应的字节的文件锁,如果否,进程持续等待,直到其他进程释放该资源,或者进程直接返回不等待。3.如权利要求2所述的方法,其特征在于,所述判断文件锁申请是否成功的步骤具体为判断文件中与该资源对应的字节是否已经被申请了文件锁,如果否,判定文件锁申请成功,如果是,继续执行以下步骤;判断文件中与该资源对应的字节的文件锁是互斥锁还是共享锁,如果是互斥锁,判定文件锁申请不成功,如果是共享锁,继续执行以下步骤;判断进程针对文件中与该资源对应的字节申请的文件锁是否为共享锁,如果是,判定文件锁申请成功,否则判定文件锁申请不成功。4.如权利要求1至3任一权利要求所述的方法,其特征在于,在所述当进程释放资源时,解除进程针对文件中该资源对应的字节申请的文件锁的步骤之后,所述方法还包括下述步骤唤醒等待该资源的其他进程,唤醒的进程针对文件中该资源对应的字节申请文件锁。5.一种资源共享系统,其特征在于,所述系统包括对应关系存储单元,用于存储设置的资源与文...
【专利技术属性】
技术研发人员:禹荣凌,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:94
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。