我在我的PyGTK應用兩個線程:如何讓gobject.idle_add()通過引用傳遞參數?
- 它運行的GTK循環,完成了所有的GUI東西
- 另一個線程負責處理網絡請求等
我主線程需要有第二個線程獲取來自第一線的一些信息,所以我呼籲:
variable = None
gobject.idle_add(function_in_main_thread, variable)
在主線程我有:
def function_in_main_thread(variable):
variable = 1
問題是第二個線程中的變量永遠不會被設置。它的價值仍然在None
。那麼我怎樣才能得到主線程修改變量在其他線程?
注意:我在腳本中有一些線程同步代碼,以防有人擔心修改其他線程中的變量。我從這個例子中省略了它,因爲我覺得它確實不適用於真正的問題。
對不起,我花了一點接受這個,但再次 - 感謝大家對如何變量名工作如此出色的解釋。 – 2011-05-01 04:43:29