python线程问题
PHP中文网
PHP中文网 2017-04-17 15:36:34
[Python讨论组]

代码:

from threading import Thread, Event
import time


def countdown(n, start_env):
    print("countdown starting!")
    start_env.set()
    while n > 0:
        print("T-minus", n)
        n -= 1
        time.sleep(2)


start_env = Event()


print('Launching Thread-countdown')
t = Thread(target=countdown, args=(10, start_env))
t.start()


start_env.wait()
print("countdown Running..............")
t.join()

输出结果:

Launching Thread-countdown
countdown starting!
T-minus 10
countdown Running..............
T-minus 9
T-minus 8
T-minus 7
T-minus 6
T-minus 5
T-minus 4
T-minus 3
T-minus 2
T-minus 1

我想问:为什么countdown Running 只在T-minus 10后输出一次?

PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
ringa_lee

因为你只wait了一次 线程也只有一个 多开点线程然后 wait放循环里就是多次了

PHPz

刚写完问题就看到一个解释:“我们创建一个事件,让线程等待事件被设置,然后一旦完成设置,事件就被丢弃”
是这样吗?

怪我咯

哥们,你觉得不是输出一次,应该是几次?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号