[問題] 如何同時處理數個function且數次
版上各位前輩好
小弟因工作上需求遇到一個問題,還麻煩版上諸位前輩協助解惑
問題詳細說明如下
我有一個def main()
這個main主要是每隔n秒,就產生一組變數(var)
接著這組變數會傳入def A, B, C, ...(function有數個)
因為A, B, C,...一個一個處理,會使得所有function還沒跑完下,下一筆變數就產生
因此上網爬了一下多線程 threading
th1 = threading.Thread(target=A, args=(var,))
th1.start()
th2 = threading.Thread(target=B, args=(var,))
th2.start()
th3 = threading.Thread(target=C, args=(var,)) ...
th3.start()
透過像這樣的寫法去處理,但這寫法又會使得Thread一直不斷產生
thread.enumerate() 會看到一堆
所以我想請教是,能否就A B C 各自設為一個Thread
然後當他接受到var時候,就各自自行處理後續動作
基本上需求就像是pyqtSignal那樣
我就發射訊號到事先設定連接的function並處理
但因為我這並非UI介面,所以就暫時不考慮pyqtSignal
也有google到python內建的signal
可是看起來並非我所要的需求(或是沒看仔細而忽視,若有忽視還請指教)
上網google了multiprocess、async方法
以我對這兩方法的認知,似乎派不上用場 (若認知錯也請指教)
因為A, B, C.. 並非複雜計算,卻需要同時處理
所以暫不考慮上述兩方法,而目前只先想到thread
或是版友們知道有甚麼方法可以處理我的需求,還請協助指教
以上,先謝謝花時間閱讀我問題的版友
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.129.205.64 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1646039568.A.B75.html
推
02/28 17:24,
2年前
, 1F
02/28 17:24, 1F
→
02/28 17:25,
2年前
, 2F
02/28 17:25, 2F
→
02/28 19:26,
2年前
, 3F
02/28 19:26, 3F
→
02/28 20:24,
2年前
, 4F
02/28 20:24, 4F
→
02/28 23:24,
2年前
, 5F
02/28 23:24, 5F
→
02/28 23:25,
2年前
, 6F
02/28 23:25, 6F
→
03/01 21:40,
2年前
, 7F
03/01 21:40, 7F
→
03/01 21:41,
2年前
, 8F
03/01 21:41, 8F
→
03/01 21:46,
2年前
, 9F
03/01 21:46, 9F
→
03/01 21:46,
2年前
, 10F
03/01 21:46, 10F