协程在python的强大之处

关于进程,线程,协程很多人都弄不明白!今天就为大家总结一下。(不是代码层面上!)
  1,进程是系统资源的最小分配单位!gevent 的底层还是epoll 的实现
  2,先有了进程才有了线程,其次才是协程。
  3,首先碰着阻塞式I\O会导致整个进程被挂起;二是由于缺乏时钟阻塞,进程需要自己拥有调度线程的能力。如果一种实现使得每个线程需要自己通过调用某个方法,主动交出控制权。那么我们就称这种用户态线程是协作式的,即是协程。
  4,大部分人使用协程的目的,就是为了制造一个可以随时中断随时恢复的函数。
  5,记住python 的线程是假的!没有多线程,就算你开辟了多个线程,也只是会浪费资源而已。
  6,我们平常就是线程加协程来处理平常的任务的。
  7,协程只是为了让线程的工作效率最大化,你要是将线程,或者进程都关闭了,那么协程也会停止。
  8,协程只是程序,请记住这句话!
9,协程是利用耗时任务的时间进行任务的切换来实现的 并发效果,如果有4个task 任务,task1 遇到了耗时任务,执行耗时任务,然后切换task2,task2 遇到耗时任务,执行耗时任务,然后切换task3
task3 没有耗时任务,运行完 task3 然后切换 task4,task4 遇到耗时任务,执行耗时任务,然后切换成task1,task1 如果耗时任务没有执行完,然后切换task2,task4,一直切换,直至找到可以运行的
任务,依次运行下去
10,协程模式实现的socket服务器处理速率远远高于多线程服务器
posted @ 2018-04-23 19:06  十七楼的羊  阅读(524)  评论(0编辑  收藏  举报