python---基础知识回顾进程和线程(自定义线程池,上下文管理器和协程的使用)
Posted 山上有风景
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python---基础知识回顾进程和线程(自定义线程池,上下文管理器和协程的使用)相关的知识,希望对你有一定的参考价值。
前戏:
在进行自定义线程池前,先了解下Queue队列
队列中可以存放基础数据类型,也可以存放类,对象等特殊数据类型
from queue import Queue class T: def __init__(self,num): self.num = num def printf(self): print(self.num,id(self.num)) if __name__ == "__main__": queue = Queue(0) num = 12 queue.put(num) #可以存放基础数据类型 t = T(num) queue.put(t) #可以存放对象 cls = T queue.put(cls) #可以存放类 dt = queue.get() print(id(dt),dt,type(dt)) #1385649280 12 <class ‘int‘> dt = queue.get() print(id(dt),dt,type(dt)) #7652128 <__main__.T object at 0x000000000074C320> <class ‘__main__.T‘> dt = queue.get() print(id(dt),dt,type(dt)) #18042264 <class ‘__main__.T‘> <class ‘type‘>
线程池应该具备的功能:
- 先创建线程池,
- 之后去获取数据的时候,若是有直接拿走
- 若是没有,需要去阻塞等待,直到有数据到达
- 线程池可以设置指定大小
- 满足上面“阻塞”要求,设置大小,的数据结构,我们可以使用Queue队列
简单版本(Low):
以上是关于python---基础知识回顾进程和线程(自定义线程池,上下文管理器和协程的使用)的主要内容,如果未能解决你的问题,请参考以下文章