python多线程和线程池使用记录

2022/5/11 14:32:28

本文主要是介绍python多线程和线程池使用记录,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

python 通过  from threading import Thread  使用Thread类

# 通过 threading模块引用Thread类
from threading import Thread
# 自定义线程 继承 Thread, 重写run方法
class MyThread(Thread):
    def run(self):
        for i in range(50):
            print("funcion", i)

if __name__ == '__main__':
    t = MyThread()
    # 同java一样 调用 start()方法,线程进入准备好的状态
    t.start()
    for i in range(50):
        print("main", i)

 

python 通过  from concurrent.futures import ThreadPoolExecutor 使用线程池类

# python 使用线程池
from concurrent.futures import ThreadPoolExecutor

def func(name):
    for i in range(50):
        print(name, i)

if __name__ == '__main__':
    # 创建线程池 容量为50
    with ThreadPoolExecutor(50) as t:
        for i in range(30):
            # name 同func方法的参数
            t.submit(func, name=f"线程{i}")

    # 在线程池的任务全部结束后才 执行下面的语句
    print("hello!")

 

python 执行异步协程操作 使用 async (异步操作关键字) 和 await (异步操作挂起关键字)。

当程序出现同步操作的时候,异步会中断。  time.sleep(1) 和 requests.get() 都是同步操作。



这篇关于python多线程和线程池使用记录的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程