python之多執行緒

2021-09-23 18:23:33 字數 1381 閱讀 8115

學習了一下多執行緒 用到爬蟲裡面簡直爽歪歪呀~

定義就很簡單,為了實現高併發,能夠同時在乙個指令碼下執行多個程式,節約時間~

新增執行緒用到的**:

import threading as td

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()

這樣就可以同時執行sum和divided啦~

另外threading中還有一些其他的功能,在使用多執行緒的時候可以檢視狀態:

print(td.active_count())#現在執行的執行緒數量

print(td.enumerate())#返回目前正在執行的執行緒list

print(td.current_thread())#返回當前執行緒變數

使用join()方法可以讓執行緒結束後再執行join語句後面的程式語句。

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...