代码改变世界

思考一种多线程+多协程的网络模型

2013-11-15 16:25 by puck_Dot, 935 阅读, 0 推荐, 收藏,
摘要:简介 在服务器开发过程中,并发量是经常需要考虑的东西,选择不同的网络模型可以应对不同的问题。本文先介绍常用的网络模型并引出协程的概念,最后思考一种多线程+多协程的实现方法。常用网络模型 1. 多线程+阻塞IO 该模型使用阻塞IO模式,在阻塞IO模式下调用read等IO函数时会阻塞线程直到IO完成或失败。 同步模型的典型代表是thread per connection模型,每当阻塞在主线程上的accept调用返回时则创建一个新的线程去服务于新的socket的读/写。这种模型的优点是程序简洁,编写简单;缺点是可伸缩性收到线程数的限制,当连接越来越多时,线程也越来越多,频繁的线... 阅读全文