多个完成端口的问题,请有服务器编写经验的人!!!

txl_2002 2005-08-15 01:40:37
在一个完成端口上开多个线程的模型,和,多个完成端口上各开一个线程的模型,在性能上会有什么差别?差别大小有会是怎么的程度?
...全文
230 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Oversense 2005-08-16
  • 打赏
  • 举报
回复
多个完成端口上各开一个线程的模型

完全没有问题,如果这个线程不被杜塞,在单核心的机器上,效率比

在一个完成端口上开多个线程的模型

zhxk 2005-08-16
  • 打赏
  • 举报
回复
我现在有个想法如果只在新线程中采用
while(1)
{
recv(...);
}
效率和比iocp怎么样?
everandforever 2005-08-15
  • 打赏
  • 举报
回复
服务器的完成端口,这里有一个可以直接拿来用的:
http://www.lenholgate.com/archives/000082.html

txl_2002 2005-08-15
  • 打赏
  • 举报
回复
to everandforever(Forever) ( )
我不是说一个线程处理一个用户对象,而是一个线程处理多个用户的线程ID和这各线程ID一致的对象。
我现在编的是一个用于服务器的通讯库,通讯库里是完成端口,而如果完成端口上多线程,这样会使库外的程序会遇到多线程的问题,所以我想让上层编程可以不用关心多线程问题。
everandforever 2005-08-15
  • 打赏
  • 举报
回复
如果一个线程处理一个用户对象,还不如就简单地为每个用户启动一个线程方便。

线程安全的问题最好用 criticalsection之类的东西解决
txl_2002 2005-08-15
  • 打赏
  • 举报
回复
我现在遇到了线程安全的问题
我现在要把一个用户对象只放在一个线程里执行,也就是说线程根据用户对象里保存的线程ID来工作。如果在一个完成端口上开多个线程,就控制不了了。
现在我想知道的是,我上面说的两种方式的性能差别。请帮忙解释一下
VCSQLVB 2005-08-15
  • 打赏
  • 举报
回复
一台机上没任何必要创建多个完成端口,完成端口仅仅为了处理任务,然后通知程序去处理完成的结果。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧