SusupendThread之后,怎么判断线程的状态?

shiweifu 2010-06-22 09:59:59
RT..

ThreadPool_Manager *pm;
pm = v;

while (1)
{
if (pm->nWorks == 0)
{
//如果没有任务,则线程池管理休息500毫秒,然后继续判断
Sleep(500);
}
//遍历线程池中的线程,给空闲的线程分配任务
for (int i = 0; i < pm->nSize; i++)
{
//判断线程是否空闲 ,如果空闲,则pm->nWorks--,分配参数给其,线程池中的线程开始干活
}
}



令求此种实现的缺点和更好的实现
...全文
99 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Normandie007 2010-06-23
  • 打赏
  • 举报
回复
同步问题,事件、信号量、互斥,等
cattycat 2010-06-23
  • 打赏
  • 举报
回复
你还是看看 操作系统进程线程同步的内容,类似生产者消费者问题,用信号或mutex解决。
线程挂起后,如果没有唤醒,一直是挂起的状态。
赵4老师 2010-06-23
  • 打赏
  • 举报
回复
《Windows核心编程》
《深入解析Windows操作系统-Windows Internals》
田暗星 2010-06-23
  • 打赏
  • 举报
回复
为什么不在线程中设置状态标记位呢?
一个char型全局变量就能满足256个线程状态

感觉全局变量不爽 可以使用 singleton 来修改成员变量的状态位 更安全
  • 打赏
  • 举报
回复
有个函数叫 WAITESINGLE.....很明显我不会写..看下关于WINDOWS核心编程关于线程那章..
KevinHo 2010-06-23
  • 打赏
  • 举报
回复

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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