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() 都是同步操作。
欺骗自己最简单,欺骗自己最困难。
安慰自己最简单,安慰自己最困难。