import threading
import time
def thread_run():
print("frist")
for i in range(10):
time.sleep(1)
print("frist finish")
def main():
add_thread=threading.Thread(target=thread_run)#target后面换成tread_run()加括号了为什么会不一样
add_thread.start()
print("second")
if __name__ == '__main__':
main()
python多线程设置traget的问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注这个问题还是比较基础啊,它的重点是Thread构造函数中需要给的target参数要求是一个callable对象。
在Thread内部有一个run函数,运行target指向的方法。这个才是重点。
什么时候可以给个加括弧的,如果thread_run内部改造为类似下面的callable_generator返回的是一个函数, 如下代码。那么你可以传入target=callable_generator(),否则thread_run()返回值是None。def callable_generator(): print("execute immediately") def run(): time.sleep(1) print("call in run") return run本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用