python多线程实现

2023-02-27 00:00:00 python 多线程

Python提供了多种多线程实现方式,其中比较常用的有以下几种:

1、使用threading模块

import threading

def worker():
    """线程执行的任务"""
    print("Worker")

# 创建线程
thread = threading.Thread(target=worker)
# 启动线程
thread.start()

2、继承Thread类

import threading

class MyThread(threading.Thread):
    def run(self):
        """线程执行的任务"""
        print("MyThread")

# 创建线程
thread = MyThread()
# 启动线程
thread.start()

3、使用concurrent.futures模块

import concurrent.futures

def worker():
    """线程执行的任务"""
    print("Worker")

# 创建线程池
with concurrent.futures.ThreadPoolExecutor() as executor:
    # 提交任务到线程池中执行
    future = executor.submit(worker)
    # 等待任务完成
    future.result()

需要注意的是,在Python中多线程并不能真正地并行执行,因为Python解释器本身有一个全局解释器锁(GIL),同一时刻只能有一个线程执行Python代码。因此,Python的多线程更适合处理I/O密集型任务,而不是CPU密集型任务。如果需要处理CPU密集型任务,可以考虑使用多进程或者使用其他语言实现。

相关文章