前提・実現したいこと
プログラム1とプログラム2という関数があります。
プログラム1はinputで命令を受け取り、それに対する答えを返します。
答えを出すには約10秒ほどかかります。
答えを出している間にquitと打ち込んだらプログラム2で反応して、プログラム1を停止させたいです。
import time import threading def program1(): a = input() #本来はここに処理が入るのでtime.sleepで代用 time.sleep(10) print(int(a)+10) def program2(): while True: quit = input() if quit == "quit": #breakでprogram2が終了したのをthreadingのjoinで検知し停止させます break multi_1 = threading.Thread(target=program1) multi_2 = threading.Thread(target=program2) multi_1.start() multi_2.start() multi_2.join()
このような感じです。
発生している問題・エラーメッセージ
これを実行したのですが、試しに1を入力して10秒待っても答えが返ってきません。
どうすれば良いでしょうか?
回答1件
あなたの回答
tips
プレビュー