以下では、a.inc()が終了してからb.call(a)が実行されてしまいます。
a.xを1秒ごとに更新する途中でxの値をbから読み出したいのですが、どのようにすればよいでしょうか?
Python3
1import time 2import threading 3 4class A: 5 def __init__(self): 6 self.x = 1 7 8 def inc(self): 9 for i in range(10): 10 time.sleep(1) 11 self.x = self.x + 1 12 13class B: 14 def __init__(self): 15 self.y = 0 16 17 def call(self,a): 18 time.sleep(4) 19 self.y = a.x 20 print(self.y) 21 22if __name__ == "__main__": 23 a = A() 24 b = B() 25 26 thread1 = threading.Thread(target=a.inc()) 27 thread2 = threading.Thread(target=b.call(a)) 28 29 thread1.start() 30 thread2.start()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/18 00:23