import threadingimport time# 由于全局解释锁(GIL)的原因,Python 的线程被限制到同一时刻只允许一个线# 程执行这样一个执行模型。所以,Python 的线程更适用于处理 I/O 和其他需要并发执# 行的阻塞操作(比如等待 I/O、等待从数据库获取数据等等),而不是需要多处理器并# 行的计算密集型任务。# 向线程发送信息的辅助类class StopThread:def __init__(self):self.go = True# 线程运行函数def RunFunc(st):while st.go:print("go")time.sleep(.5)go = StopThread()# 创建线程# 向 target 参数传递一个可调用对象# daemon=True 表示该线程为后台线程,后台线程无法等待,不过,这些线程会在主线程终止时自动销毁。th = threading.Thread(target=RunFunc, daemon=True, args=(go,))# 启动线程th.start()# 等待线程真正启动while not th.is_alive():print("wait..")passtime.sleep(5)go.go = False# 等待线程终止th.join()print("exit...")
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。