协程是什么

协程是什么

百度了下,有人说是用户态的轻量级线程,也有人说是一个逻辑控制需求。

可能不同的解说是从实现的角度来区分的。本意应该是差不多的。

应该是有些编译器是通过用户态的轻量级线程实现的,有些则是通过逻辑控制实现的(比如函数性语言)

总之, 协程是轻量级的用户态切换的一种程序。本身拥有栈和数据。


协程的特点

  • 无需线程上下文切换的开销
  • 无需原子操作锁定及同步的开销
  • 方便切换控制流,简化编程模型
  • 高并发+高扩展性+低成本:一个CPU支持上万的协程都不是问题。所以很适合用于高并发处理。

协程的性能

瓶颈在于用户态线程的极限

posted @ 2015-08-10 15:42  风云力  阅读(224)  评论(0编辑  收藏  举报