Re: [問題] 如何立即停止執行緒

作者: weel99699 (旦旦)   2020-08-16 16:36:46
※ 引述《cjs0710 (blue)》之銘言:
: 本身還是新手, 我用tkinter 做了兩個按鈕,Start和Stop
: 按了Start之後 會一直重覆從0數到9,
: 按了Stop之後, 會印出stop 但不會馬上停止, 需要完成一個loop之後才會停止
: 請問有什麼方法可以馬上停止
: import tkinter as tk
: import time
: import threading
: def k ():
: global stop_var
: stop_var = 0
: while True:
#把這整段的if放進下面的for loop裡面
: if stop_var == 1:
: break
: for i in range(10):
#if stop_var == 1:
#. Break
: print ( i)
: time.sleep(0.5)
: def run():
: a = threading.Thread(target = k)
: a.start()
: def stop():
: global stop_var
: print ("stop")
: stop_var = 1
: window=tk.Tk()
: buttonStart = tk.Button(window,width = 10, text = "Start", command = run)
: buttonStop = tk.Button(window,width = 10, text = "Stop", command = stop)
: buttonStart.pack()
: buttonStop.pack()
: window.mainloop()

Links booklink

Contact Us: admin [ a t ] ucptt.com