を私は質問に編集している:スレッディング・情報パッシング - 混乱からリフレームするにはどのように
import threading
count = 5
dev = threading.Thread(name='dev', target=dev,args=(workQueue,count,))
dev.setDaemon(True)
dev.start()
workQueue = Queue.Queue(10)
queueLock.acquire()
workQueue.put(word)
queueLock.release()
count = 3
time.sleep(2)
count = 5
one.pyが、ここで私の混乱が、私はキューから値を入れて、取得することができていますさをスレッド間でカウントされますが、カウントの場合は反映されません。
なぜですか?
実際にここで欠落している点は何ですか?
class dev (threading.Thread):
def test(self):
while 1:
print count
print self.EPP_Obj
queueLock.acquire()
if not self.workQueue.empty():
data = self.workQueue.get()
print data
queueLock.release()
else:
queueLock.release()
def __init__(self, workQueue, EPP_Obj):
threading.Thread.__init__(self)
self.workQueue = workQueue
self.EPP_Obj = EPP_Obj
@all:私はコードのいくつかの部分を変更しました.soエラーを無視してください。 – Ragav
どこに問題がありますか?なぜdevクラスは 'Thread'サブクラスではありませんか?何[スレッドチュートリアル](http://www.google.com/search?q=python+threading+tutorial)に従っていますか?彼らは通常あなたが求めているものをカバーします。 –
@ Rik Poggi:ちょうどarnoldのコードのように私の必要がありますが、私は達成するためにQUEUEメカニズムを使いたくありません。ちょうどデータを達成したい/スレッドロックを通過するオブジェクト.Notifyメカニズム – Ragav