python多线程并发执行和异步处理

并发执行

python并发处理任务
from concurrent.futures import ThreadPoolExecutor, as_completed

# 定义一个简单的函数作为线程任务
def task(n):
    time.sleep(2)
    print(f"处理任务 {n}")
    return n ** 2

# 创建一个线程池执行器
with ThreadPoolExecutor(max_workers=5) as executor:
    # 列表生成式,创建所有任务
    futures = [executor.submit(task, i) for i in range(10)]

    # as_completed(futures) 会返回一个迭代器,迭代每一次任务完成的future
    for future in as_completed(futures):
        # 调用future.result() 获取函数返回结果
        result = future.result()
        print(f"任务返回结果 {result}")
输出

python多线程并发执行和异步处理_第1张图片

异步处理

python异步执行任务
import threading
import time

def background_task(arg1, arg2):
    print('开始暂停')
    time.sleep(3)
    print('暂停结束')

thread = threading.Thread(target=background_task, args=(1, 2))
thread.start()
print('执行完成')
输出

python多线程并发执行和异步处理_第2张图片

你可能感兴趣的:(python,开发语言,多线程,并发,异步)