【问题标题】:Python threading structure [closed]Python线程结构[关闭]
【发布时间】:2014-08-29 05:20:31
【问题描述】:

我读过一些类似的代码。

def bind():
    while True:
        line = raw_input()
        #do something

def worker():
    print "i'm working"
    #do something

th = threading.Thread(target=worker)
th.daemon = True 
th.start()
time.sleep(0.5)
bind()

工人是什么意思?为什么不使用

th = threading.Thread(target=bind)

【问题讨论】:

    标签: python multithreading daemon


    【解决方案1】:

    我想你想问为什么worker被用作守护线程而不是绑定。

    守护线程意味着当只剩下守护线程时整个Python程序退出。

    Function worker 被设置为守护线程。这里的意思是不管function worker是否完成,一旦function bind返回,function worker会立即终止。

    Here 是守护进程的一些指令。检查第 16.2.1 节。希望对您有所帮助。

    【讨论】:

    • daemon对应什么功能?初始化函数还是主函数?
    • @huythang 代码中没有init函数。 main函数是主进程。 threading.Thread 在代码中启动一个新线程,th.daemon 将此新线程设置为守护进程。在这个新的守护线程中,function worker 正在运行。
    • @huythang 如果没有更多问题,请不要忘记接受它作为答案。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多