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() 都是同步操作。

posted @   不要西红柿  阅读(79)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示