首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

线程同步有关问题,各位大大帮帮忙

2013-08-04 
线程同步问题,各位大大帮帮忙我现在有一个函数,Fun()然后线程里面会一直循环调用这个函数,这个函数其实就

线程同步问题,各位大大帮帮忙
我现在有一个函数,Fun();然后线程里面会一直循环调用这个函数,这个函数其实就是一个给下位机发送命令的函数,然后我在程序中其他地方偶尔也要调用下这个函数来发送别的命令,这个时候我该怎么写我的同步代码呀,我现在的调用方法是
线程中


void MainThread()
{
while(bMainThreadRun)
{
Fun();
if(bMainThreadExit)
{
ExitThread(0);
}
}
}


然后我在某些按钮里面也添加了Fun()方法的调用
[解决办法]


handle hEvent = createevent(NULL,false,true,NULL);
void MainThread()
{
    while(bMainThreadRun)
    {
       if(WAIT_OBJECT_0 == waitforsingleobject(hevent,INFINITE) )
       { Fun();}
        if(bMainThreadExit)
        {
            ExitThread(0);    
        }
        setevent(hevent);
    }    
}

其他调用的地方类似,这样能保证最多只有1个线程调用Fun函数,还有其他方法也可以实现

热点排行