摘要:
对于一次IO访问(以read举例),数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。所以说,当一个read操作发生时,它会经历两个阶段:1. 等待数据准备 (Waiting for the data to be ready)2. 将数据从内核拷贝到进程 阅读全文
摘要:
事件驱动模型: 每收到一个请求,放入一个事件列表,让主进程通过非阻塞I/O方式来处理请求,网络服务器采用此方式。 目前大部分的UI编程都是事件驱动模型,如很多UI平台都会提供onClick()事件,这个事件就代表鼠标按下事件。事件驱动模型大体思路如下: 1. 有一个事件(消息)队列; 2. 鼠标按下 阅读全文
摘要:
协程:又称微线程,纤程。是一种用户态的轻量级线程 拥有自己的寄存器上下文和栈。协程调试切换时,将寄存器上下文和栈保存在其他地方 ,在切回来的时候,恢复先前保存的寄存器上下文和栈 协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每次过程重入时,就相当于进入上一次调用的状态,换种说法:进入 阅读全文
摘要:
多进程multiprocessing 多线程适合场景:不适合cpu操作密集型的任务,适合io密集型的任务 多进程适合场景:适合cpu操作密集型的任务 进程启动方法 获取进程id(每个进程都是由父进程启动的) 进程间通讯 不同进程间内存是不共享的,要实现两个进程间的数据交换 Queues 队列(父进程 阅读全文