如何在threading线程创建的子类线程中使用互斥锁
import threadingimport time
class SubThread(threading.Thread):
def run(self):
for i in range(10):
time.sleep(1)
msg = '子线程'+self.name+'执行,i='+str(i)
print(msg)
if __name__ == '__main__':
print('主线程开始')
ts = []
for i in range(5):
t = SubThread()
t.start()
ts.append(t)
for t in ts:
t.join()
print('('主线程结束')
以上代码。我想在线程运行时使用互斥锁。如何操作。谢谢各位老师能帮我看看。 锁的创建:locker=thread.Lock()
加锁:locker.acquire()
解锁:locker.release()
你可以把locker作为一个全局变量
将需要加锁的代码块写在locker.acquire()和locker.release()之间即可。如果有多个acquire、release,需要注意代码逻辑,不要写出死锁。
页:
[1]