剛剛學習了python的多執行緒,為了測試多執行緒對處理資料的影響,自己寫了乙個簡單的例項實踐一下多執行緒:
# -*- coding:utf-8 -*-
#python多執行緒例項
import threading
import datetime
import time
defhandleurllista
():'''
執行緒a:如果有資料就處理,否則就等待
:return:
'''global urllista
global flaga
while
true:
if len(urllista) > 0:
print(urllista[len(urllista) - 1])
time.sleep(0.5)
urllista.pop()
elif len(urllista) == 0
and flaga == true:
break
defhandleurllistb
():'''
執行緒b:如果有資料就處理,否則就等待
:return:
'''global urllistb
global flagb
while
true:
if len(urllistb) > 0:
print(urllistb[len(urllistb) - 1])
time.sleep(0.5)
urllistb.pop()
elif len(urllistb) == 0
and flagb == true:
break
if __name__ == "__main__":
starttime = datetime.datetime.now()
#全域性變數初始化
urllista =
urllistb =
flaga = false
flagb = false
#建立多執行緒
ta = threading.thread(target=handleurllista, name="threada")
tb = threading.thread(target=handleurllistb, name="threadb")
ta.start()
tb.start()
#執行與結束
for i in range(100):
if i % 2 == 0:
else:
flaga = true
flagb = true
# 主線程等到子執行緒執行完才能結束
ta.join()
tb.join()
endtime = datetime.datetime.now()
print("function execution time(s) is :%s" % (endtime - starttime))
本文是乙個特別簡單的例子,看了別人寫的python多執行緒,感覺自己的還是特別的簡單,希望向大牛們繼續學習!
python多執行緒例項
a 建立乙個thread的例項,傳給他乙個函式 import threading from time import sleep def thread body arg1,arg2 print i am a child thread arg1,arg2 sleep 10 print end child...
python多執行緒例項
import threading import time class mythread threading.thread def init self,n super mythread,self init self.n n def run self print runnint task self.n ...
python多執行緒採集例項
python多執行緒採集例項 python作為一種流行的指令碼程式語言,其功能的強大自然不言而喻,豆瓣網就是使用python開發的,另外很多的it公司了在使用python,也充分說明了python的強大,下面是python多執行緒採集例項 python多執行緒採集例項 coding gb2312 a...