(1).第一道,我们在读数据的时候,一般都需要给应用程序最终缓冲区分配大小,这个大小有什么讲究吗?
有讲究的。如果分配的太小,那就会频繁的从用户太切换到内核态,这样其实非常损耗CPU的时间。
同时如果设置的太大的话,那就会长期阻塞在read或者recv函数上,造成可以先服务或者先完成的内容没完成。
再次,也得比实际的数据稍微大一些以免缓冲区溢出,边界的问题要想办法做好的调整。。
(2). 第二道,你能分析一下,我们文章中的例子所分配的缓冲是否可以换成动态分配吗?
比如调用 malloc 函数来分配缓冲区?是可以动态分配,就是new的话要记得及时的去delete,以免造成内存泄露。