0
我遇到的問題是在代碼段中的行(1),(2)和(3)。如何在boost中找到當前正在運行的線程?
- 如何傳遞當前正在運行的線程的線程對象?
- 如何在不使用boost :: condition_variable的情況下執行上下文切換? (例如:
sleep(for ever)
) - 如何重新運行線程?
1 void wait()
2 {
3 if(some condition)
4 {
5 queue.enqueue("current thread object"); (1)
6 boost::this_thread (// context switch) (2)
7 }
8 }
9
10 void signal()
11 {
12 boost::thread myThread = queue.dequeue();
13 myThread.run(); (3)
14 }