不嫌麻烦还可以每次从 timer 集合里面选择最先要超时的事件,计算还有多长时间就会超时,作为 select wait 的值,每次都不一样,每次都基本精确,同时不会占用多余 cpu,这叫 tickless,Linux 的 3.x以上版本也支持 tickless 的模式来驱动各种系统级时钟,号称更省电更精确,不过需要你手动打开,FreeBSD 9 以后也引入了 tickless 。
TICKLESS 模式可以说是一个新的方向,但是目前处于默认关闭的测试状态,那么你的网络库到底是用 TICK 还是 TICKLESS,看你根据具体情况来评估了 。
【网络程序计时器通常用啥实现?】
推荐阅读
- 让很多人直呼“要失业”,火爆网络的AIGC,到底是什么东西?
- “流动型程序员”指的是什么类型的程序员?
- 网络推广竞价主管简历!怎样做竞价推广
- 张继科|张继科事件再添实锤,一细节证明其心虚,疑似景甜私密照曝光网络
- |我职业棋手,14岁入国家队集训10年,退役后参与影视拍摄爆红网络
- Go开发命令行程序指南
- 如何确保自动化时代的网络安全和数据保护?
- HTTP缓存如何提高Web应用程序的性能?
- 职业规划|如何在职业规划中建立自己的职业网络和人际关系?
- |钓友们怎么通过网络学钓鱼知识?大家要学会取舍,避免被误导