我无法理解Python中的线程。我有这个程序:
import _thread, time
def print_loop():
num = 0
while 1:
num = num + 1
print(num)
time.sleep(1)
_thread.start_new_thread(print_loop, ())
time.sleep(10)
我的问题是我是否需要关闭线程print_loop,因为它看起来两个线程在主线程结束时结束。这是处理线程的正确方法吗?
答案 0 :(得分:4)
首先,除非绝对必须,否则请避免使用低级API。 threading
模块优先于_thread
。通常在Python中,避免以下划线开头的任何内容。
现在,您要查找的方法称为join
。即。
import time
from threading import Thread
stop = False
def print_loop():
num = 0
while not stop:
num = num + 1
print(num)
time.sleep(1)
thread = Thread(target=print_loop)
thread.start()
time.sleep(10)
stop = True
thread.join()