封装IOCP-1:起式
来源:互联网 发布:centos sftp服务开启 编辑:程序博客网 时间:2024/04/28 18:39
如果直接通过API来使用完成端口(IOCP),太过烦琐,不若将之封装一下使之好看,形式统一。鄙人深信好的代码必然是好看的代码,虽则自己的代码不太好看,但重要的是俺尚有一颗追求好看代码的心。当然,干巴巴的封装好看未必好用,还应当锦上再添些小花。设计IOCP的用意之一,便是使程序既能够具有良好的伸缩性,又能够最大化的利用系统资源,因此,还应加上动态负载调控这一味料,使得程序能够依据不同的硬件和软件情况自我调整,这样才能够兼具上述两个优点。
要具有伸缩性,即要求程序能够根据当前硬件状况(通常是CPU个数)分配线程资源。
要具有动态调节负载功能,就需要知道系统当前资源使用情况,并根据这个资料来调节线程数量。比较简便的法子是获取进程对CPU的使用率,若进程占用过多的CPU,则表示需要再加些工作线程,因为系统内不只自己一个进程在跑,需要稍稍释放些CPU资源给别人使用,若进程占用的CPU较低,可以减少线程,释放些内存资源给系统。
这位看官要说了,IOCP不是能够根据当前工作状态分派线程么?还要你画蛇添足,加个动态负载调控劳什子做甚?
非也非也,IOCP虽能够在线程池内调配线程,但若每个线程要处理的任务繁重,耗时太入,以至IOCP在池内无线程可差遣时,动态负载调控就可派上用场了。一个能够利用全部资源的程序固然好,然而一个呆呆板板,不会变化的程序,却也无趣的紧。我等写程序,就如同秀才作文章,姑娘绣花般,须得务求尽善尽美,这才是身为程序员的王道。
- 封装IOCP-1:起式
- 封装IOCP-2:桩功-1
- 封装IOCP-3:桩功-2
- 封装IOCP-4:示例和源代码
- 封装一个IOCP,DLL形式
- IOCP的封装和使用
- boost asio的iocp封装引擎styleman_iocp
- 封装起我的XML DOM
- Android 撸起袖子,自己封装 DialogFragment
- IOCP
- iocp
- IOCP
- IOCP
- IOCP
- IOCP
- IOCP
- IOCP
- IOCP
- 基础知识,DSP芯片介绍
- 网关服务器之拼包和安全
- MIPS体系下的汇编
- FPGA 入门
- asp.net 一些知识点
- 封装IOCP-1:起式
- rails中文问题 (转自网络天空站)
- 封装IOCP-2:桩功-1
- javacript实现在线考试倒计时功能
- 寻找SOA的中国切入点
- Windows 下架设 PHP 服务器
- 抽象类和接口的区别基于C#
- SOA and Web 2.0: 边缘与中心间的重心移转(三)
- 比较 传统 IT 和 Enterprise 2.0 应用特性