python多线程执行函数实现方法

  • Post category:Python

Python多线程是利用CPU的多核心来并行处理多个任务,提高程序运行效率的一种方式。在Python中,可以使用threading模块来创建多线程并执行任务。

要创建一个多线程,需要进行以下几个步骤:

  1. 导入threading模块
import threading
  1. 定义函数

多线程是并行执行任务,因此需要定义一个函数来执行具体的任务。此函数需要作为参数传递给创建线程的函数。

def run_task():
    print("This is a thread.")

以上代码中,定义了一个名为run_task的函数,函数体中包含一条简单的输出语句,用来模拟实际的任务。

  1. 创建线程

可以使用threading.Thread()函数创建线程。在创建线程时,需要将run_task函数作为参数传递给target参数,表示该线程需要执行的任务。

t = threading.Thread(target=run_task)

以上代码中,创建了一个名为t的线程,将run_task函数作为参数传递给target参数指定线程需要执行的任务。

  1. 启动线程

在创建完线程后,可以使用t.start()函数启动线程,开始执行任务。

t.start()

以上代码中,使用t.start()函数启动t线程,开始执行run_task函数中定义的任务。

  1. 等待线程执行完毕

线程在执行完毕后会自动退出,但是如果需要等待线程执行完成后再继续执行主线程的任务,可以使用t.join()函数。

t.join()
print("Main thread continues.")

以上代码中,使用t.join()函数等待线程t执行完毕后再打印Main thread continues

代码示例1:

import threading

def run_task():
    print("This is a thread.")

t = threading.Thread(target=run_task)

t.start()
t.join()
print("Main thread continues.")

输出:

This is a thread.
Main thread continues.

代码示例2:

import threading

def run_task(num):
    print("This is thread %d." % num)

for i in range(5):
    t = threading.Thread(target=run_task, args=(i,))
    t.start()

输出:

This is thread 0.
This is thread 1.
This is thread 2.
This is thread 3.
This is thread 4.

以上代码中,定义了一个能接收参数的run_task函数,并循环创建5个线程并通过args参数将参数传递给run_task函数。每个线程在执行时输出不同的结果。