菜鸟问题,求解答!

houzhenghui123 2011-10-01 07:33:05
学习VC十几天了吧!最近做个小程序玩,但是遇到一个问题!
代码片段如下:

while(TRUE)
{
SOCKET skAccept = accept(sk,(struct sockaddr*)&caddr,&len);
if(INVALID_SOCKET == skAccept){
continue;
}
...
}

因为创建线程过于频繁,响应的速度太慢了,我想用线程池来做!我的想法是接受一个请求创建一个skAccept,并把他放到队列里面,
开启一个线程专门扫描扫描队列
伪代码如下:
   while(TRUE)
{
if(!isEmptyQueue())

//重创建好的队列里面拿出一个skAccept去处理

}


我在网上也搜了不少线程池的东西,什么io完成端口之类的东西,但是对我这个只学了十几天VC的菜鸟来说,原理明白,看别人的代码就蒙了,
希望好心人能够帮我实现这个想法!小菜在这里谢谢各位好心人!
...全文
207 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq120848369 2011-10-02
  • 打赏
  • 举报
回复
学一下io复用和event per thread ,你信就有前途,不信就继续迷茫吧。
houzhenghui123 2011-10-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chelp 的回复:]

引用 4 楼 houzhenghui123 的回复:
引用 3 楼 namelij 的回复:

有些东西,还是自己做吧,既然你刚开始做这个,即使别人给你做出来了,你也消化不了,还是自己写吧从

我的想法是先跑出效果出来,在看具体的代码,思路有了代码是个熟练工的活!

呵呵,不敢苟同
[/Quote]
本帖不是争论贴,这个问题也没有什么争论的理由!只要问题能解决什么方法都行!
最后谢谢捧场!
Roy_Smiling 2011-10-01
  • 打赏
  • 举报
回复
其實我是來打醬油的哦
houzhenghui123 2011-10-01
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 golden_shadow 的回复:]

同是学习者。 《windows核心编程》里面有事例代码。
[/Quote]
谢了!
Golden_Shadow 2011-10-01
  • 打赏
  • 举报
回复
同是学习者。 《windows核心编程》里面有事例代码。
chelp 2011-10-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 houzhenghui123 的回复:]
引用 3 楼 namelij 的回复:

有些东西,还是自己做吧,既然你刚开始做这个,即使别人给你做出来了,你也消化不了,还是自己写吧从

我的想法是先跑出效果出来,在看具体的代码,思路有了代码是个熟练工的活!
[/Quote]
呵呵,不敢苟同
houzhenghui123 2011-10-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 namelij 的回复:]

有些东西,还是自己做吧,既然你刚开始做这个,即使别人给你做出来了,你也消化不了,还是自己写吧从
[/Quote]
我的想法是先跑出效果出来,在看具体的代码,思路有了代码是个熟练工的活!
  • 打赏
  • 举报
回复
有些东西,还是自己做吧,既然你刚开始做这个,即使别人给你做出来了,你也消化不了,还是自己写吧从
houzhenghui123 2011-10-01
  • 打赏
  • 举报
回复
//补充下,是从线程池里面拿出一个线程!
houzhenghui123 2011-10-01
  • 打赏
  • 举报
回复
不好意思没有写清楚
while(TRUE)
{
if(!isEmptyQueue())

//拿出一个线程,同时出队列一个acceptSk,传入这个线程

}

64,439

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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