多執行緒的上手例子

2021-08-07 02:25:06 字數 1015 閱讀 3325

溫習了下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...