在 Python 中创建线程的不同方法

pythonserver side programmingprogramming

线程是在进程内创建的实体,可以安排线程的执行。它是可以在任何类型的操作系统中执行的小型处理单元。在 Python 中创建线程有多种不同的方法。

使用线程模块

在 Python 中,我们有线程模块,它提供创建和管理线程的高级接口。我们可以通过创建实例并将需要执行的函数传递给新线程来创建线程。

示例

在下面的示例中,我们创建一个函数并将输入传递给线程模块的 Thread() 函数。

import threading
def sample():
print("Welcome to tutorialspoint")
sample_thread = threading.Thread(target = sample)
sample_thread.start()

输出

Welcome to tutorialspoint

使用线程模块

线程模块是 python 中可用的模块之一,它是一个用于处理线程的低级模块。我们可以通过调用 start_new_thread() 函数来创建线程,并且在函数内我们必须传递要执行的函数。此模块适用于python 2及以前的版本,python3及以上版本不支持。

示例

在此示例中,我们将使用start_new_thread()函数创建线程并传递需要执行的函数。

import thread
def sample_function():
c = "Python is one of the popular programming languages"
print(c)
thread.start_new_thread(sample_function,())

输出

以下是thread模块执行给定线程的输出。

Python is one of the popular programming languages

使用多处理模块

多处理模块是Python中可用的另一个模块,它提供了创建用于在Python中运行线程的进程的路径。我们可以通过创建 Process 类实例并传递一个必须在新创建的进程中执行的函数来创建新进程。

示例

在此示例中,我们使用 python 中的多处理模块创建了线程,然后创建的线程将在定义的计划时间执行。

import multiprocessing
def sample_function():
print("Python 是一种流行的编程语言")

sample_process = multiprocessing.Process(target = sample_function)
sample_process.start()

输出

以下是多处理模块进程函数的输出,用于创建和执行创建的线程。

Python 是一种流行的编程语言

使用 concurrent.futures 模块

concurrent.futures 模块是python 中用于处理线程和进程的高级接口模块。我们可以根据用户的要求分别借助 ThreadPoolExecutor 或 ProcessPoolExecutor 类创建新线程或进程,并将要执行的函数传递给新线程或进程。

示例

在下面的示例中,我们使用 python 中的 parallel.futures 模块创建一个线程,然后安排它在指定时间执行。

import concurrent.futures

def my_function():
   print("Welcome to Tutorialspoint")

with concurrent.futures.ThreadPoolExecutor() as executor:
   executor.submit(my_function)
    
with concurrent.futures.ProcessPoolExecutor() as executor:
   executor.submit(my_function)

输出

以下是 concurrent.futures 模块的输出。

Welcome to Tutorialspoint

相关文章