欢迎访问宙启技术站
智能推送

如何使用start_new_thread()函数在Python中实现并行执行任务

发布时间:2023-12-26 21:33:44

在Python中,我们可以使用start_new_thread()函数实现并行执行任务。该函数属于_thread模块,用于开启一个新的线程来执行特定的任务。它接受两个参数, 个参数是要执行的函数,第二个参数是该函数的参数,参数可以是一个元组。

下面是一个简单的使用start_new_thread()函数的例子:

import _thread
import time

# 定义一个函数,用于在不同线程中执行
def print_time(thread_name, delay):
    count = 0
    while count < 5:
        time.sleep(delay)
        count += 1
        print(f"{thread_name}: {time.ctime(time.time())}")

# 开启两个线程来执行print_time函数
try:
    _thread.start_new_thread(print_time, ("Thread-1", 1))
    _thread.start_new_thread(print_time, ("Thread-2", 2))
except:
    print("Error: 无法启动线程")

while 1:
    pass

在上面的例子中,我们定义了一个print_time()函数,该函数接受线程名称和延迟时间作为参数,然后在指定的延迟时间内打印当前时间。然后,我们通过start_new_thread()函数分别启动了两个线程,每个线程执行print_time()函数。 个线程的延迟时间为1秒,第二个线程的延迟时间为2秒。

最后,我们使用一个无限循环来阻止程序退出,以便保持线程的执行。

当运行上述代码时,我们会看到两个线程并行执行,每个线程打印出当前时间,但由于两个线程的延迟时间不同,因此打印的间隔也不同。

需要注意的是,对于简单的并行任务,我们可以使用threading模块中的Thread类更方便地创建线程和执行任务。start_new_thread()函数在较老的Python版本中使用较多,在新的Python版本中,推荐使用threading模块。