本文共 377 字,大约阅读时间需要 1 分钟。
已知多线程已经无法解决高并发问题, 所以才有了异步IO,事件驱动等概念来解决高并发编程。 很典型的就是 ,传说中的事件驱动
面向对象最典型的语言是 Java , 事件驱动最典型的语言是 Node.js , 协程最典型的语言就是golang
个人很看好协程的发展, 同时也非常看好 的前景
协程也叫用户级线程, 很多人分不清楚协程和线程和进程的关系。 简单的说就是: 线程和进程的调度是由操作系统来调控, 而协程的调度由用户自己调控。 所以协程调度器可以在协程A即将进入阻塞IO操作, 比如 socket 的 read (其实已经设置为异步IO )之前, 将该协程挂起,把当前的栈信息 StackA 保存下来, 然后切换到协程B, 等到协程A的该 IO操作返回时, 再根据 StackA 切回到之前的协程A当时的状态。
转载地址:http://bwvmi.baihongyu.com/