字体
关灯
   存书签 书架管理 返回目录
的时候是挂起的,不仅占内存,还不干活。”
    胡鹏愣了一下,开始重新打量起陈浩。
    这番话切中要害,而且专业术语用得极准,绝不是一个大二学生能说出来的。
    “你懂CORBA?”
    胡鹏的声音沉了下来。
    “略懂一点。”
    陈浩走到屏幕前。
    “我兼职的公司就是做高并发互联网应用的。
    前段时间我跟着出差到硅谷,跟Sun公司负责Java EE规范制定的一帮工程师聊过。
    现在的趋势是,瓶颈不在硬件,而在I/O模型。”
    陈浩顿了顿,看着胡鹏:
    “胡院长,能给我个白板吗?”
    周围的博士生面面相觑。
    一个大二的要在国家级实验室里给他们这些博士生讲课?
    “给他。”
    胡鹏盯着陈浩看了几秒,鬼使神差地挥了挥手。
    一个博士生从角落里推过来一块白板。
    陈浩拿起马克笔,没有废话,直接在白板上画了一个图。
    一个圆圈,周围连着无数线条,中间是一个单向的箭头。
    “既然多线程容易崩,那我们就不要用多线程。”
    陈浩一边画一边说。
    “目前的架构是,来一个客人,我们就派一个服务员全程跟着。
    客人点菜、吃饭、买单,服务员都得等着。
    客人多了,服务员就不够用了。”
    他在旁边画了另一个图。
    “我们可以换个思路。
    只留一个前台接待员。
    所有客人的请求先到前台登记。
    前台把请求分类,扔到后面的队列里。
    厨房做好了,再通知前台叫号。
    这就是IO多路复用。”
    陈浩写下几个英文单词:I/O Multiplexing。
    “利用UNIX系统底层的select或者poll机制,一个线程就可以监控成千上万个socket连接的状态。
    只有当socket真的有数据可读写时,才分配资源去处理。”
    陈浩转过身,看着胡鹏:
    “还需要把这块的同步锁去掉,换成无锁队列。”
    实验室里没人回应,博士生们有的皱眉沉思,有的还在发懵。
    在2000年,NIO(非阻塞I/O)和Reactor模式在学术界已经有了雏形,但在国内的工程实

关闭+畅/阅读=模式,看最新完整内容。本章未完,请点击下一页继续阅读》》
上一页 目录 下一页