溫習了下python的多執行緒,雖然python中的多執行緒是偽多執行緒,但是還是可以熟悉了解下。
#coding:utf-8
'''created on 2023年8月17日
@author: zhouxuan
'''import threading
import time
def aa():
print 'start aa'
time.sleep(5)
print 'ok'
def bb():
print 'start bb'
time.sleep(3)
print 'done'
if __name__=="__main__":
print 'start time',time.ctime()
threads=
t1=threading.thread(target=aa,args=())
t2=threading.thread(target=bb,args=())
for i in threads:
i.setdaemon(true)
i.start()
for i in threads:
i.join()
print 'now time',time.ctime()
i.join()的作用是阻塞作用,單獨設定迴圈來阻塞是因為如果都放到乙個迴圈裡面,系統就變成了阻塞完第乙個了再阻塞第二個,形成了個先後順序,就沒有多執行緒的作用了。所以要單獨開啟乙個for迴圈來執行。換乘for後,執行緒都開啟,可以同事阻塞多個執行緒,直到每個都執行完畢了才退出。
setdaemon()
setdaemon(true)將執行緒宣告為守護執行緒,必須在start() 方法呼叫之前設定,如果不設定為守護執行緒程式會被無限掛起。子執行緒啟動後,父線
程也繼續執行下去,當父執行緒執行完最後一條語句print "all over %s" %ctime()後,沒有等待子執行緒,直接就退出了,同時子執行緒也一同結束。
多執行緒例子
coding utf 8 import threading import queue import time import random from faker import faker class mythread threading.thread 執行緒模型 def init self,queue...
POSIX執行緒多執行緒例子
include include include include define num threads 6 void thread function void arg int main sleep 1 printf waiting for threads to finish.n for lots of...
多執行緒實例子
class threaddemo1 catch exception e system.out.println main thread.currentthread getname testthread tt new testthread tt.start tt.start tt.start tt.st...