作者wandog (慢跑中毒)
看板Python
標題[問題] 關於thread之間的資料交換
時間Fri Aug 31 00:28:36 2012
我在主thread中 呼叫了兩個在另外的py檔案中定義的function
並且生成兩個thread之後 將這兩個py檔案中的函式
丟進去執行 接下來我遇到問題了
稱呼兩個子thread分別為a與b
a與b要如何交換資料?
一開始是想到用global variable (網路上很多人不推薦這個方法 why?)
但是 如果function是從外部import進來的 似乎沒那麼簡單 我也弄不出來
最後想到的方式是用對file的io行為 來做資料交換(甚至有前輩要我用資料庫...
感覺殺雞用牛刀)
請問各位 有更好的方式嗎?
PS.這兩個THREAD都是無限迴圈 會一直持續交換資料
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.254.3.144
※ 編輯: wandog 來自: 122.254.3.144 (08/31 00:30)
2F:→ wandog:我有看過這份文件 但可能我漏看了 沒看到重點 我再REVIEW 08/31 00:43
3F:→ wandog:一次 謝謝 08/31 00:43
※ 編輯: wandog 來自: 122.254.3.144 (08/31 00:44)
4F:推 chchwy:global variable會有race condition的問題 08/31 00:51
5F:→ gozule:用queue就能解決了 08/31 03:42
6F:→ huggie:借問一下在Python用thread有什麼好處?GIL鎖住啦?! 08/31 23:07
7F:→ KSJ:例如gui的時候不會freeze住操作畫面 09/01 19:09
8F:→ KSJ:或SOCKET伺服器處理客戶端的時候不用一直等同一個客戶之類的 09/01 19:11
9F:→ gozule:thread在IO bound的程式還是用的, CPU bound請用multiproc 09/03 17:43