Part 4 - 网络编程基础(笔记)


进程: 资源的集合(屋子)
线程: 操作系统最小的调度单位(人)

进程至少包含一个线程,处理工作由线程完成

线程:
内存共享
同时修改同一份数据时必须加锁,mutex互斥锁,递归锁
join -> 等待一个线程结束

守护线程 服务于非守护线程(master), master结束,守护线程将同时结束

多线程 python编程使用的属于“假”多线程,其实是使用CPU上下文切换的优势提高效率


queue:
解耦,使程序之间实现松耦合 (生产者消费者模型)
提高处理效率

FIFO -> first in first out
LIFO -> last in first out


io操作不占用CPU
计算占用CPU,耗资源, 如:1+1,上下文切换
python多线程 不适合CPU密集操作型的任务,适合IO操作密集型的任务

 

协程
又称微线程,纤程。 英文名Coroutine,一句话说明什么 是线程:协程是一种用户态的轻量级线程
CPU不知道协程的存在,是用户自己控制的
处理任务时,遇到io操作就执行上下文切换,监测io操作完成了就切回去,从而实现高并发


IO多路复用
http://www.cnblogs.com/alex3714/articles/5876749.html
select/Poll/Epoll异步IO
*selectors
http://www.cnblogs.com/alex3714/articles/5248247.html
epoll
http://www.cnblogs.com/alex3714/articles/5876749.html

 

posted @ 2017-08-25 19:54  qinrihong  阅读(110)  评论(0)    收藏  举报