Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python-为什么主线程打印在所有线程连接之前结束行_Python - Fatal编程技术网

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()