yazi框架学习笔记
主线程
- 监听和建立客户端的连接
- 接收客户端的请求数据,创建一个任务,该任务携带请求数据,并把该任务放入任务队列
- 告诉分发线程,有请求任务过来了,叫他赶紧去处理
- 重复上面三个步骤
注意:主线程不处理具体请求
分发线程
- 查看任务队列,看是否有请求任务?没有任务则继续睡觉,否则把任务取出来,然后分发给线程池
- 线程池有空闲的线程,则把该任务交给空闲的线程处理,否则该任务乖乖待在队列里等待,直到有空闲的线程为止
- 重复上面两个步骤
注意:分发线程也不处理具体请求
工作线程
- 执行任务
- 销毁任务
- 重复以上两个步骤
注意:工作线程处理具体请求