Skip to main content
 首页 » 编程设计

Python 线程支持脚本的其余部分

2025年05月04日13dudu

在 Windows 7 Pro 64 位上运行 Python 3.2。

好吧,我这里有一些非常基本的代码,只是表现得不像我想要的那样。

#!/usr/bin/env python 
 
import time 
import threading 
 
def shutdown(sleeptime): 
    time.sleep(sleeptime) 
    print('I have executed') 
 
threading.Thread(target = shutdown(5)).start() 
print('I go first') 

脚本运行的想法是,它启动一个线程,该线程休眠 5 秒,然后打印出“我已执行”。与此同时,脚本继续运行并打印出“我先走”。

实际发生的是脚本启动线程,一切都在等待它完成,然后它继续。显然,我没有正确执行线程处理,但我无法找到使用 Python 3 进行线程处理的简单示例。

请您参考如下方法:

你的陈述:

threading.Thread(target = shutdown(5)).start() 

可以等效地写成:

x = shutdown(5) 
threading.Thread(target = x).start() 

即您首先调用关闭,然后将结果传递给 Thread 构造函数。

您需要将您的函数和您的参数列表分别传递给 Thread,而无需调用它:

threading.Thread(target = shutdown, args = (5,)).start()