H5W3
当前位置:H5W3 > 其他技术问题 > 正文

python开启了一个子线程之后父线程不执行了

开在子线程的代码

def update_token(col):
    count = 0
    while True:
        global global_token
        global_token = get_token()
        print("col: %s, count: %d, token: %s" % (col, count, global_token))
        count += 1
        time.sleep(10)

回答:

不会的.
线程没有父子的说法.

如果主进程不执行, 那说明你没启动多线程.

检查一下你的启动函数.

回答:

python 有全局解释锁(GIL),出现这现象是应该的。如果希望同时执行,需要用多进程模块(multiprocess)

回答:

看下你启动线程的代码,没有道理说在主进程开了子线程之后,主进程不往下执行的。

回答:

我的是加锁 break 前忘了释放 lock.release()

=============================

遇到同样的问题 请问您的问题解决了吗?

我大体调试了下 用while True:循环 就不结束这个线程,主线程 就接收不到信息 即便使用了 break 跳出while 也不行, 把True 换成其他条件 就可以跳出去 ,求一个更好的办法

本文地址:H5W3 » python开启了一个子线程之后父线程不执行了

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址