标题:线程优先级的问题,谁帮帮我..谢谢..
只看楼主
qztr28
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2010-12-2
结帖率:40%
 问题点数:0 回复次数:1 
线程优先级的问题,谁帮帮我..谢谢..
这个程序结果.两个值为什么会不一样呢??
#include<stdio.h>
#include<windows.h>
#include<process.h>
DWORD g1=0;
DWORD g2=0;
BOOL gb=TRUE;
DWORD WINAPI ThreadFunc(LPVOID ipParam);
int main(){
    DWORD u;
    HANDLE h[2];
    h[0]=::CreateThread(NULL,0,ThreadFunc,NULL,CREATE_SUSPENDED,&u);
    ::SetThreadPriority(h[0],THREAD_PRIORITY_IDLE);
    ::ResumeThread(h[0]);
    h[1]=::CreateThread(NULL,0,ThreadFunc,NULL,0,&u);   
    Sleep(1000);
    gb=FALSE;
    ::WaitForMultipleObjects(2,h,TRUE,INFINITE);
    ::CloseHandle(h[0]);
    ::CloseHandle(h[1]);
    printf("终值:%d,%d\n",g1,g2);
    return(0);
}
DWORD WINAPI ThreadFunc(LPVOID ipParam){
    while(gb){
        g1++;
        g2++;   

    }
    printf("%d,%d\n",g1,g2);
    return(0);
}
搜索更多相关主题的帖子: 优先级 
2011-01-27 10:57
ZZCCWW
Rank: 1
等 级:新手上路
帖 子:8
专家分:5
注 册:2011-4-20
得分:0 
我在XP操作系统,VC6.0下运行,结果两个值完全一样。
2012-10-23 15:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-331628-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.095876 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved