首先,應該提及的是,我對編程相當陌生,而且我正在使用Python 3.2.5。我正在嘗試創建一個連接到服務器並定期連接服務器的遊戲。起初,我試圖簡單地將這個權利捆綁到遊戲的主循環中,結果是所述循環在ping的持續時間內凍結(我的連接速度很慢,並且我不希望這會抑制遊戲,因爲遊戲不會, t完全取決於服務器 - 它只需要ping它就可以保持會話打開,以便稍後註冊最終分數)。Python多處理進程不運行
我想我會嘗試使用所有與服務器相關的代碼的二級循環,這使我得以進行多處理。我目前的想法是保持無限循環運行,並通過隊列爲任務提供任務。然後它會返回信息,表示任務成功或者不通過隊列,並且遊戲可以順利運行。我將其分解爲以下內容進行測試,沒有打印出來。我顯然想知道爲什麼。
(我猜有很多聰明人都對如何做到這一點更好的想法,我洗耳恭聽。)
import multiprocessing
def aFunction(q_in, q_out):
while True:
item = q_in.get()
q_out.put("some info")
if __name__ == "__main__":
q_in = multiprocessing.Queue()
q_out = multiprocessing.Queue()
p = multiprocessing.Process(target = aFunction, args = (q_in, q_out))
p.start()
q_in.put("some task here")
while True:
item = q_out.get()
print(str(item))
'q_out.empty()'? – User
編輯OP來解釋我對這些問題的看法。 – Petto