實現任務描述如下:
建立多個子執行緒,共同訪問乙個佇列中的元素,並執行相應操作。
要求要按照元素的執行要按照佇列順序,並且元素的執行不能有重複。
示例**如下:
#****** sample to show the usage of multithreadimport threading
commonlist=range(20)
commonlist.reverse()
class mythread(threading.thread):
def __init__(self, lock, threadname):
super(mythread, self).__init__(name=threadname)
self.lock=lock
def run(self):
global commonlist
flag=true
while(flag):
self.lock.acquire()
if(len(commonlist)==0):
flag=false
else:
item=commonlist.pop()
print "%s get %d"%(self.getname(),item)
self.lock.release()
def main():
lock=threading.lock()
for i in range(5):
mythread(lock, "thread-%d"%i).start()
if __name__ == '__main__':
main()
ref:
Python多執行緒示例
直接使用threading.thread進行多執行緒實現,其中target為要執行的方法或函式,args為引數列表 方法或函式需要的值 結尾加 因為是元組。def pa n for i in range 10 time.sleep 2 print 這是執行緒 str n defpa2 n for i...
多執行緒示例
include include include pthread t thread 2 pthread mutex t mut int num 0 void thread1 void args pthread exit null void thread2 void args pthread exit ...
Python 多執行緒死鎖的示例
在 python 中多執行緒中為了防止資源競爭而出現問題,提供了鎖的機制,當乙個執行緒操作資源時進行加鎖,操作完畢後釋放鎖,這樣其他執行緒就不會同時操作資源匯出出現異常。在 python 多執行緒中注意是兩種鎖 互斥鎖和遞迴鎖 那麼它們有什麼區別呢?互斥鎖 一旦乙個執行緒獲得乙個互斥鎖,會阻塞隨後嘗...