python-为什么主线程打印在所有线程连接之前结束行
我打电话加入,所以我不明白为什么主线程在所有线程完成之前打印“结束”。 输出为:python-为什么主线程打印在所有线程连接之前结束行,python,Python,我打电话加入,所以我不明白为什么主线程在所有线程完成之前打印“结束”。 输出为: End Thread Thread 其他相关问题: 只是为了确保将daemon flag设置为true,这是否意味着调用join没有意义(因为main可以在仍然存在daemon线程的情况下完成) 因为你实际上不叫加入。替换: t.join 与: 关键是t.joinexpression返回bound-method对象,添加括号使expression成为方法调用 连接线程只对用户线程重要,守护进程线程不会阻止主线程
End
Thread
Thread
其他相关问题:
只是为了确保将daemon flag设置为true,这是否意味着调用join没有意义(因为main可以在仍然存在daemon线程的情况下完成)
因为你实际上不叫加入。替换:
t.join
与:
关键是t.join
expression返回bound-method
对象,添加括号使expression成为方法调用
连接线程只对用户线程重要,守护进程线程不会阻止主线程完成。,因为您实际上不调用连接。替换:
t.join
与:
关键是t.join
expression返回bound-method
对象,添加括号使expression成为方法调用
连接线程只对用户线程重要,守护进程线程不会阻止主线程完成。您缺少
t.join之后的括号。它应该是t.join()
您缺少t.join
后面的括号。应该是t.join()
我想应该是t.join()。我想应该是t.join()。哇。愚蠢的我!!!!!第二个问题呢?我将把这个标记为一个答案。你应该详细说明为什么会这样,因为这是一个有趣的教学点!通常,python函数需要在它们后面加上一组括号。否则,您实际上是在引用方法本身。OP知道吗?@rsegal那么为什么在没有parentheses@user1495181,我更新了我的答案,以说明为什么括号在这里如此重要。@user1495181为了详细说明他的观点,Python(与大多数面向对象语言一样)允许您传递对方法的引用,而不是调用它t.join
实际上是一个方法的名称,打包为绑定方法
对象,而t.join()
实际上调用该方法。在code.WOW中经常使用这样的方法。愚蠢的我!!!!!第二个问题呢?我将把这个标记为一个答案。你应该详细说明为什么会这样,因为这是一个有趣的教学点!通常,python函数需要在它们后面加上一组括号。否则,您实际上是在引用方法本身。OP知道吗?@rsegal那么为什么在没有parentheses@user1495181,我更新了我的答案,以说明为什么括号在这里如此重要。@user1495181为了详细说明他的观点,Python(与大多数面向对象语言一样)允许您传递对方法的引用,而不是调用它t.join
实际上是一个方法的名称,打包为绑定方法
对象,而t.join()
实际上调用该方法。在代码中经常使用这样的方法。
t.join()