python版本的读写锁操作方法
本篇章节讲解python版本的读写锁操作方法。分享给大家供大家参考,具体如下: 最近要用到读写锁的机制,但是python2.7的自带库里居然木有. 读写锁一般用于多个读者,1个或多个写者同时访问某种资源的时候。多个读者之间是可以共享资源的,但是写者与读者之间,写者与写者之间是资源互斥的。 这也就是说同时可以有多个读者或一个写者处于工作状态。 细分下来,读写锁可以分为三类,读者优先,写者优先和公开策略。 第一种,读者优先, 实现代码: 定义一个类RWLock,并作简单的初始化 import threading class RWLock(object): def __init__(self): self.rlock = threading.Lock() self.wlock = threading.Lock() self.reader = 0 写者锁 def write_acquire(self): self.wlock.acquire() def write_release(self): self.wlock.release() 读者锁 def read_acquire(self): self.rlock.acquire() self.reader += 1 if self.reader == 1: self.wlock.aquire() self.rlock.release() def read_release(self): self.rlock.acquire() self.reader -= 1 if self.reader == 0: self.wlock.release() self.rlock.release() 更多关于Python相关内容感兴趣的读者可查看本站专题:《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》 希望本文所述对大家Python程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |