最初に私はビデオを見ていて、スレッドを動作させる方法を理解するために努力していますが、私はそれを理解できません。私は誰かが私の特定の状況で私のためにこの仕事をすることができ、私はそれから学ぶことができるか、少なくともそれが私のために働くことを願っています。Pythonは特定の関数をスレッド化する必要があります
start_timer関数をスレッドプロセスにして、この1つが実行されている間にユーザーが他の関数を起動できるようにします。
最終的に各機能はtkinterのボタンに関連付けられ、私の庭の水分を制御するためにラズベリーパイに情報を送信します。
import time
class Valve:
def __init__(self, pin, location):
self.pin = pin
self.location = location
timer = 0
status = False
def turn_on(self):
self.status = True
self.send_info()
def turn_off(self):
self.status = False
self.send_info()
def set_timer(self, minutes):
self.timer = minutes * 60
def start_timer(self):
self.turn_on()
self.status = True
while self.timer > 0:
print(self.timer)
self.timer -= 1
time.sleep(1)
self.turn_off()
def send_info(self):
print("sending this info to server:", self.pin, self.status)
hose1 = Valve(1, 'Garden')
hose2 = Valve(2, 'Lawn')
hose1.set_timer(1)
hose1.start_timer()
hose2.turn_on()
は、私は以下で)(hose1.start_timerを交換して働くだろうと思ったが、それはまだ実行されます()hose2.turn_on前にこの穴のプロセスを実行します:
は、ここに私のコードです。
thread = threading.Thread(target=hose1.start_timer(), args=hose1.timer)
thread.start()
ありがとうございました!
もし誰かがこのプロジェクトに興味を持っているなら、私はこのアイデアを作り出す際に、アイデアを前後に跳ね返すパートナーが大好きです。
thread.start()
私はトップ1を使用し、私は任意の引数を必要としなかったとして、私はそれを取り除くので、私は完全に脳がおなら気づき、今それを呼び出すことができます働いているようだ! – JayEli