为了账号安全,请及时绑定邮箱和手机立即绑定

python 多线程怎么同时一直运行

python 多线程怎么同时一直运行

万千封印 2018-07-16 11:22:13
import threadingimport time def a():    while 1:        for x in range(3):             print(x)             time.sleep(1) def b():    while 1:        for y in range(4,6):             print(y)             time.sleep(1) def c():    while 1:        for z in range(7,10):             print(z)             time.sleep(1) aa = threading.Thread(target=a()) bb = threading.Thread(target=b()) cc = threading.Thread(target=c()) aa.start() bb.start() cc.start()我的目的是 这三个线程启动后就一起同时运行。直到我手动关闭。可是,现在它只是aa在运行,那两个执行。这是怎么回事? (如果函数里不加while那它们就依次运行一次就停了。但我的目的是:三个线程启动后就一起同时运行。直到我手动关闭。)
查看完整描述

2 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

aa = threading.Thread(target=a());

把 a的括号去掉,target要的是一个函数,不是函数的返回值。

你依次调用是因为你在给target传值时调用了a,b,c。

有while的时候就卡在了a(),没while时就


查看完整回答
1 反对 回复 2018-07-17
?
ibeautiful

TA贡献1993条经验 获得超5个赞

改成

aa = threading.Thread(target=a)
bb = threading.Thread(target=b)
cc = threading.Thread(target=c)


查看完整回答
反对 回复 2018-07-17
  • 2 回答
  • 0 关注
  • 1821 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信