class Class {
public:
Class();
private:
std::thread* updationThread;
};
Class::Class() {
updationThread = new std::thread(&someFunc);
}
在我的應用程序的某個時刻,我必須暫停該線程和調用函數和函數我要執行後恢復線程。比方說,它發生在這裏:
void Class::aFunction() {
functionToBeCalled(); //Before this, the thread should be paused
//Now, the thread should be resumed.
}
我曾嘗試使用另一個線程與功能functionToBeCalled()
和使用thread::join
,但無法做到,由於某種原因。
如何暫停一個線程或者我如何使用thread::join
暫停線程,直到其他完成?
那是什麼其他的線程在做什麼?你可以玩「someFunc」的身體嗎? 「暫停」線程不是正常操作。 – user7116
STL不提供此。在Windows中,您可以使用SuspendThread。 – cdoubleplusgood
@ user7116我可以。我想這樣做的原因是因爲當'functionToBeCalled()'和線程一起工作時,我遇到了內部問題。 – khajvah