字:
关灯 护眼
范文吧 > 重生00:开局白捡六千万闯天家 > 第116章 要不这就算我的检查吧(数据再掉就恢复两更。)

第116章 要不这就算我的检查吧(数据再掉就恢复两更。)

    第116章 要不这就算我的检查吧(数据再掉就恢复两更。) (第2/3页)

长,能给我个白板吗?”

    周围的博士生面面相觑。

    一个大二的要在国家级实验室里给他们这些博士生讲课?

    “给他。”

    胡鹏盯着陈浩看了几秒,鬼使神差地挥了挥手。

    一个博士生从角落里推过来一块白板。

    陈浩拿起马克笔,没有废话,直接在白板上画了一个图。

    一个圆圈,周围连着无数线条,中间是一个单向的箭头。

    “既然多线程容易崩,那我们就不要用多线程。”

    陈浩一边画一边说。

    “目前的架构是,来一个客人,我们就派一个服务员全程跟着。

    客人点菜、吃饭、买单,服务员都得等着。

    客人多了,服务员就不够用了。”

    他在旁边画了另一个图。

    “我们可以换个思路。

    只留一个前台接待员。

    所有客人的请求先到前台登记。

    前台把请求分类,扔到后面的队列里。

    厨房做好了,再通知前台叫号。

    这就是IO多路复用。”

    陈浩写下几个英文单词:I/O MUltipleXing。

    “利用UNIX系统底层的SeleCt或者pOll机制,一个线程就可以监控成千上万个SOCket连接的状态。

    只有当SOCket真的有数据可读写时,才分配资源去处理。”

    陈浩转过身,看着胡鹏:

    “还需要把这块的同步锁去掉,换成无锁队列。”

    实验室里没人回应,博士生们有的皱眉沉思,有的还在发懵。

    在2000年,NIO(非阻塞I/O)和ReaCtOr模式在学术界已经有了雏形,但在国内的工程实践中,还属于非常前沿甚至激进的技术。

    大部分人还在死磕多线程优化。

    胡鹏的眼睛却亮了。

    他是行家。

    陈浩画的这个图,虽然简单,但逻辑闭环非常完美。

    它从根本上避开了线程切换的开销。

    “无锁队列……”

    胡鹏喃喃自语。

    “你是说用CAS指令原子操作来替代互斥锁?”

    陈浩点头。

    “是的。硬件级的原子操作,比操作系统级的锁快几个数量级。”

    胡鹏沉默了片刻。

    他看着陈浩,眼神复杂。

    “说起来容易,做起来难。”胡鹏指着屏幕。

    “这套系统的底层代码有十几万行,重构I/O模型等于换心脏。

    离验收只剩一个月,谁敢动?”

    “不用动全身。”

    陈浩把马克笔扔在桌上,走到那个操作电脑的博士生身后,拍了拍他的肩膀。

    “师兄,麻烦让个座。”

    那个博士生愣住了,下意识地看向胡鹏。

    胡鹏深吸了一口烟,把烟蒂狠狠按灭在烟灰缸里。

    “让他试!”

    代码在其他的电脑都有备份,出问题也不影响。

    博士生站起来,让出了位置。

    陈浩坐下,双手放在键盘上。

    

    (本章未完,请点击下一页继续阅读)
『加入书签,方便阅读』