不阻塞主线程的前提下等待5s
在windows service里的一个函数,需要在函数里等待5s左右,该函数会被主线程调用且该函数需要访问类的私有成员变量,而且Service启动时该函数就被调用。
用阻塞的方法(Sleep,WaitForMultipleObjects) 会阻塞主线程。
用SetTimer会破坏封装性。
用了MsgWaitForMultipleObjects,好像一样要阻塞主线程。
不知大家有何好主意不?
[解决办法]
另开线程吧
[解决办法]
可以启动一个线程,不过不用破坏封装性。
主线程里调用类的一个public函数,这个函数创建一个线程,并传入this;线程函数是类的static函数;
在线程函数里等待5s后根据传入的类指针调用其另一个public函数,这个函数里做具体事情,访问private成员等。