如上图所示,用go 申明为gorountine前后的区别是什么呢?可以从系统资源或线程角度讲解一下吗
补充一下现象,不加gorountine,只能有一个客户端链接,这是为什么呢?
参考代码:
http://c.biancheng.net/view/5...
我理解,加go 每次有客户端链接,都用一个新协程处理。不加,使用的是main主进程,所有客户端都在以main进程里吗?感觉怪怪的
如上图所示,用go 申明为gorountine前后的区别是什么呢?可以从系统资源或线程角度讲解一下吗
补充一下现象,不加gorountine,只能有一个客户端链接,这是为什么呢?
参考代码:
http://c.biancheng.net/view/5...
我理解,加go 每次有客户端链接,都用一个新协程处理。不加,使用的是main主进程,所有客户端都在以main进程里吗?感觉怪怪的
这段代码没用go routine就不能并发了。
主线程一次只能处理一个连接,处理完关闭连接了才能接着accept下一个。
加了go routine相当于主线程对新的连接都起一个新的协程去异步处理然后能够马上accept下一个连接(如果有),这样才能达到并发
7 回答5.4k 阅读
6 回答7k 阅读✓ 已解决
4 回答2.4k 阅读
1 回答3.4k 阅读
2 回答965 阅读✓ 已解决
2 回答2.3k 阅读
1 回答2.2k 阅读
进程 --> 线程/协程
然后你的理解是正确的。主线程阻塞后,就不能处理新的请求了。