Python3中子執行緒呼叫input方法,把其他執行緒都阻塞了怎麼辦?

時間 2021-06-06 11:33:47

1樓:

雖然是多執行緒,但是shell資源只有乙個,你換一種輸出方式試試你的input()卡住了accept的print,只能是輸入和輸出兩個成對出現

想不成對可以這樣,10個一卡.....

#your code

from

queque

import

Queueq=

Queque(10

)#your code

defclient_accept

(arg

):while

True

:#your codeifq

.full

:whileq.

not_empty

:print(q

.get

())else:q

.put

(rev)

2樓:凌心誠

不存在這種可能,對於執行緒級別大家都是平等的占有cpu時間片,不存在某個執行緒一直做事導致其他執行緒不能使用cpu的情況,執行緒存在的原理就是作業系統通過排程,讓各個執行緒公平的使用cpu。另外想要阻塞乙個程序中的所有執行緒,必須是以這個程序的身份發起掛起整個程序的訊號。

3樓:shuhari

GUI 程式的一般模式是:主線程負責使用者輸入和介面顯示,其他需要長時間執行的任務都放到後台執行緒去。CUI 程式並不一定要按這個模式設計,但業界實踐已經證明,這種設計能避免很多併發相關的問題,大多數情況下都是最優選擇。

建議你考慮一下程式設計,盡量不要在子執行緒裡 input,如果必須這麼做的話,請考慮多程序。

在Python3中builtins模組與當前正在執行的主模組是什麼關係?

coder dh C Users LENOVO In globals Out get ipython exit quit i ii iii i1 globals module dict 6 dict,i7 globals dict 在第 1步中沒注釋的那行,我們可以看到 builtins 這可以解釋...

你看好 Python 3 嗎?

令狐蔥 不管看好還是不看好,都得追隨Python 3的腳步吧?看看官網上的說法 What are the differences?Short version Python 2.x is legacy,Python 3.x is the present and future of the langua...

Python3新手爬蟲求教?

henryPKU 如果想簡單快速上手,選個爬蟲框架就行了,scrapy 六的飛起,中文文件也很詳細。爬蟲框架用多了自然而然就有了深刻理解,而且自頂向下,會比直接寫爬蟲達到更高的抽象層次 不吃夾生飯 我也是一開始接觸到py3,隨後再py2.7,現在因為工作又繼續用py3。一開始,明白最基本那幾個庫的用...