4
我有一個正在被兩個函數操作的類。一個函數創建小部件列表並將其寫入到類:python迭代器和線程安全
def updateWidgets(self):
widgets = self.generateWidgetList()
self.widgets = widgets
以某種方式在小部件等功能的交易:
def workOnWidgets(self):
for widget in self.widgets:
self.workOnWidget(widget)
每個功能運行在它自己的線程。問題是,如果updateWidgets()
線程在workOnWidgets()
線程運行時執行,會發生什麼情況?
我假設作爲for...in
循環的一部分創建的迭代器將保留對舊的 self.widgets對象的某種引用?所以我會完成舊列表的迭代......但我很想知道確切的事情。
很好的答案和很好的例子。謝謝! – 2010-04-30 22:09:43