網路程式設計 執行緒 2 如何檢視有多少個執行緒在執行

2022-03-10 13:52:41 字數 1447 閱讀 2214

以上一節**為例,如何檢視執行的執行緒數,需要呼叫threading模組裡面的enumerate方法,返回乙個執行緒數列表:

import

threading

import

time

"""以上一章的**為例,如何檢視有多少個執行緒在執行

"""def

sing():

"""唱歌5秒鐘

"""for i in range(3):

print('

----------------')

print('

我在唱歌....')

time.sleep(1)

defdance():

for i in range(5):

print('

我在跳舞....')

print('

----------------')

time.sleep(1)

defmain():

t = threading.thread(target=sing)

t2 = threading.thread(target=dance)

t.start()

t2.start()

#迴圈列印正在執行的執行緒數,呼叫threading模組中的enumerate方法返回乙個列表,裡面的元素就是執行的執行緒,列印出元素個數就是執行緒數

while

true:

nums =len(threading.enumerate())

print

(threading.enumerate())

#當沒有執行緒時,就退出

if nums <= 1:

break

time.sleep(1)

if__name__ == '

__main__':

main()

執行結果如下:

我在唱歌....

我在跳舞....

[<_mainthread started>, , ]

[<_mainthread started>, , ]

我在跳舞....

我在唱歌....

[<_mainthread started>, , ]

我在唱歌....

我在跳舞....

[<_mainthread started>, , ]

我在跳舞....

[<_mainthread started>, ]

我在跳舞....

[<_mainthread started>, ]

[<_mainthread started>]

解釋如下圖:

C 多執行緒多少個執行緒算多?

程式一啟動就建立了60個執行緒,太多了,應該控制一下。也有同學提出不同意見,說執行緒多不是問題,別把它當成指標,盯住記憶體 cpu才是正經。使用多執行緒,為的是提高執行效率 那麼,是不是執行緒越多越好呢?哪種實現方案更好呢?別急!執行緒在建立和銷毀時的開銷 windows的做法是,把cpu時間切成小...

多執行緒,到底該設定多少個執行緒?

不好了,線上伺服器超時嚴重,請求非常慢,好像報連線數too many了,怎麼辦?小夥伴們在反饋。一般我們的技術老大的處理方式,把連線數和執行緒池調大點,重啟,再觀察。往往這個方式是應急措施,治標不治本,因為不知道問題的原因。有個嚴重誤區,以為執行緒池設定太小了,調大點請求就會快了。今天就帶著小夥伴們...

多執行緒,到底該設定多少個執行緒?

不好了,線上伺服器超時嚴重,請求非常慢,好像報連線數too many了,怎麼辦?小夥伴們在反饋。一般我們的技術老大的處理方式,把連線數和執行緒池調大點,重啟,再觀察。往往這個方式是應急措施,治標不治本,因為不知道問題的原因。有個嚴重誤區,以為執行緒池設定太小了,調大點請求就會快了。今天就帶著小夥伴們...