io模型是什么 在windows平台网络io模型都有哪些?
在windows平台网络io模型都有哪些?
IO分为网络IO和磁盘IO。对于网络IO,epoll是可以的。但是对于瓷盘IO,没有完美的方法,所以都采用多线程阻塞模拟。区别在于windows下的IOCP是系统内核提供的线程池,而Linux和其他线程池则是在用户层提供的。Libeio和libev由node的早期版本使用。libuv提供之后,它们就不再使用了。
为什么有很多出名开源的C/C 方面的高性能网络库,比如libevent,boost-asio,有些企业还要自己写?
是构建轮子还是直接使用开源库,我认为,很大程度上取决于部门负责人的个人喜好。曾几何时,c开发人员热衷于重新构建轮子,那么为什么有些企业要自己编写呢?我在项目开始时不知道这个库的存在,我不想以后再介绍它。
2)许多第三方库依赖于许多其他第三方库。要引进a馆,就得引进B馆、C馆、D馆,这无疑增加了院系成员的学习成本。
3)第三方开源库通常会频繁更新。如果你知道有一个bug,你想更新它吗?基础库的更新无疑会花费更多的开发时间和测试时间。
4)使项目整体可控。一旦引入的开放源代码库出现问题并且项目团队不熟悉它,这将是灾难性的。
5)现有开源库过于复杂,学习成本高,团队成员水平参差不齐。
最后,附上一本我前段时间读过的书。
本文是作者《一个程序员的奋斗史》悟空问答原创文章,未经允许转载,抄袭将被追究!
io模型是什么 io信号主要有哪几种 golang网络io模型
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。