求教如何判断是否该释放线程

cj1205 2010-07-23 10:52:25
有个问题请教下:在做网页搜索,用户输入一个url,我要查询这个url中包含的超链接,然后继续扫描(本站点内才扫描):现设计两个队列:预备队列和完成扫描数组(采用哈希的方式来建立索引,快速匹配);预备队列为加入的url(加入前要查询预备队列和完成数组,避免重复扫描),完成数组为已经扫描过的url。设计一个信号量,来表示预备队列的资源数,创建20个线程,等待这个信号量。现在有个问题:怎么来判断扫描已经结束,释放所有线程!
我原先的做法是设计三个队列,预备队列,正在扫描队列,完成队列;线程函数做一个while循环,当预备队列和扫描队列同时为空时,跳出循环,可是经理说要不断遍历队列,没有哈希快,添加删除效率慢,否决了,他设计了上述模式,让我找找路子
...全文
62 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hupan535452 2010-07-26
  • 打赏
  • 举报
回复
设置一个标识变量来表示等待线程数num,设置一个事件,当num等于20时触发事件
liuzengyi12 2010-07-26
  • 打赏
  • 举报
回复
设置一个标识变量来表示等待线程数num,设置一个事件,当num等于20时触发事件
cj1205 2010-07-23
  • 打赏
  • 举报
回复
没人来帮帮我么?

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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