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

不阻塞主线程的前提上等待5s

2012-08-25 
不阻塞主线程的前提下等待5s在windows service里的一个函数,需要在函数里等待5s左右,该函数会被主线程调用

不阻塞主线程的前提下等待5s
在windows service里的一个函数,需要在函数里等待5s左右,该函数会被主线程调用且该函数需要访问类的私有成员变量,而且Service启动时该函数就被调用。

用阻塞的方法(Sleep,WaitForMultipleObjects) 会阻塞主线程。
用SetTimer会破坏封装性。

用了MsgWaitForMultipleObjects,好像一样要阻塞主线程。
不知大家有何好主意不?


[解决办法]
另开线程吧
[解决办法]
可以启动一个线程,不过不用破坏封装性。
主线程里调用类的一个public函数,这个函数创建一个线程,并传入this;线程函数是类的static函数;
在线程函数里等待5s后根据传入的类指针调用其另一个public函数,这个函数里做具体事情,访问private成员等。

热点排行