學習了一下多執行緒 用到爬蟲裡面簡直爽歪歪呀~
定義就很簡單,為了實現高併發,能夠同時在乙個指令碼下執行多個程式,節約時間~
新增執行緒用到的**:
import threading as td這樣就可以同時執行sum和divided啦~def sum(num1,num2):
sum = num1+num2
print('sss',sum)
def divided(num1,num2):
re =
result = num1 - num2
print('fff',re)
if __name__ == '__main__':
td1 = td.thread(target=sum, args=(3, 4))
td2 = td.thread(target=divided, args=(3, 4))
td1.start()
td2.start()
另外threading中還有一些其他的功能,在使用多執行緒的時候可以檢視狀態:
print(td.active_count())#現在執行的執行緒數量使用join()方法可以讓執行緒結束後再執行join語句後面的程式語句。print(td.enumerate())#返回目前正在執行的執行緒list
print(td.current_thread())#返回當前執行緒變數
td.join()
還可以使用queue來儲存執行緒中的值,來代替執行緒中的返回值。
from queue import queue
lock的意思是鎖住某個執行緒,等它執行完了再做下乙個執行緒。
import threading as td我只是簡單的使用一下多執行緒提公升一下爬蟲爬取資訊的速度~def sum(num1,num2):
global lock
lock.acquire()
sum = num1+num2
print('sss',sum)
lock.release()
def divided(num1,num2):
lock.acquire()
re =
result = num1 - num2
print('fff',re)
lock.release()
if __name__ == '__main__':
lock = td.lock()
td1 = td.thread(target=sum, args=(3, 4))
td2 = td.thread(target=divided, args=(3, 4))
td1.start()
td2.start()
Python之多執行緒
1 呼叫thread模組中的start new thread 函式來產生新執行緒 thread.start new thread function,args kwargs function 執行緒函式。args 傳遞給執行緒函式的引數,他必須是個tuple型別。kwargs 可選引數。2 使用thr...
python之多執行緒
我們在商超買東西時,當只有乙個收銀台時,會導致排很長的隊。如果有多個收銀台同時工作的話,會大大提高效率。這是生活中的多執行緒,即多個執行緒同時工作。我們接下來用 案例講解多執行緒與單執行緒的區別。單執行緒即在程式執行過程中,按照一定的先後順序執行。多執行緒即多個事件同時發生。單執行緒 import ...
Python之多執行緒
mythread類是我自己實現的乙個類,繼承自threading模組中的thread類,在子類中重寫run方法,當程序呼叫start方法時候,子類的run方法會被呼叫 工作需要,現學現賣,獻醜了 created on may 28,2013 author berlin import threadin...