请问如果我这样做会有什么后果?

zhuwuwei 2008-07-30 03:46:09
在窗口的创建过程中
AfxBeginThread(ThreadProc1, NULL, THREAD_PRIORITY_TIME_CRITICAL);
UINT ThreadProc1(LPVOID pParam)
{
while(1)
{
}
}
会有什么结果?
如果我再开一个呢?
AfxBeginThread(ThreadProc2, NULL, THREAD_PRIORITY_TIME_CRITICAL);
UINT ThreadProc2(LPVOID pParam)
{
for (;;)
{
}
}
各位, 有兴趣的可以试验一下?
...全文
119 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgl7903 2008-07-31
  • 打赏
  • 举报
回复
要想执行机会相等必须要做同步,
主线程中发命令,子线程响应
类似于长官和士兵的方式
gaoteng1984 2008-07-30
  • 打赏
  • 举报
回复
看样子,楼主自己知道答案的啊,呵呵~
pangqi022 2008-07-30
  • 打赏
  • 举报
回复
抢占式的系统不好均等
BlueEngine 2008-07-30
  • 打赏
  • 举报
回复
下面情形又会如何呢:

AfxBeginThread(ThreadProc1, NULL, THREAD_PRIORITY_TIME_CRITICAL);
UINT ThreadProc1(LPVOID pParam)
{
UINT nCount = 0;
while(1)
{
Sleep(1000);
cout<<"from Thread 1:"<<nCount++<<endl;
}
}

AfxBeginThread(ThreadProc2, NULL, THREAD_PRIORITY_TIME_CRITICAL);
UINT ThreadProc2(LPVOID pParam)
{
UINT nCount = 0;
while(1)
{
Sleep(1000);
cout<<"from Thread 2:"<<nCount++<<endl;
}
}

......

AfxBeginThread(ThreadProc1000, NULL, THREAD_PRIORITY_TIME_CRITICAL);
UINT ThreadProc1000(LPVOID pParam)
{
UINT nCount = 0;
while(1)
{
Sleep(1000);
cout<<"from Thread 1000:"<<nCount++<<endl;
}
}

也就是说开启1000个这样的线程,事实证明,这1000个线程执行的时间是不相同的,也就是有些线程执行较多,有些则很少,如何使它们的执行机会均等呢?


zhouzhenyan 2008-07-30
  • 打赏
  • 举报
回复
加Sleep(),不然cpu100%,呵呵。
cnzdgs 2008-07-30
  • 打赏
  • 举报
回复
THREAD_PRIORITY_TIME_CRITICAL优先级是相当高的,应该是高于任务管理器的。
zgl7903 2008-07-30
  • 打赏
  • 举报
回复
试试就知道了 不过最好把重要的数据保存好
如果不是多核处理器的话,提前把任务管理器打开

greatws 2008-07-30
  • 打赏
  • 举报
回复
如果加上Sleep(10);就不会有事
cnzdgs 2008-07-30
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 zhuwuwei 的回复:]
cnzdgs这么说你是双核
[/Quote]
zhuwuwei 2008-07-30
  • 打赏
  • 举报
回复
cnzdgs这么说你是双核
cnzdgs 2008-07-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 deterly 的回复:]
哇,我搞出了复活节彩蛋,谢谢LZ!
[/Quote]
不会是用Reset键复活的吧?
cnzdgs 2008-07-30
  • 打赏
  • 举报
回复
1个是50%,2个估计就见上帝了。
hxfjb 2008-07-30
  • 打赏
  • 举报
回复
没有什么严重的后果,不会影响你的界面线程,也不会影响你的其他工作线程,无非是你的进程多了两个线程。这两个线程都是死循环。系统有自己的调度策略,分配给它们时间片的时候,就在那里空转。
孤客天涯 2008-07-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 rageliu 的回复:]
cpu100%
[/Quote]
rageliu 2008-07-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 deterly 的回复:]
哇,我搞出了复活节彩蛋,谢谢LZ!
[/Quote]

这么彪悍?
deterly 2008-07-30
  • 打赏
  • 举报
回复
哇,我搞出了复活节彩蛋,谢谢LZ!
ouyh12345 2008-07-30
  • 打赏
  • 举报
回复
自己做个程序试验一下
zhuwuwei 2008-07-30
  • 打赏
  • 举报
回复
以及解决办法.
zhuwuwei 2008-07-30
  • 打赏
  • 举报
回复
请给出具体点的解释?
vc1000 2008-07-30
  • 打赏
  • 举报
回复
cpu100%
加载更多回复(1)

15,471

社区成员

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

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