Есть два потока (назовем их T1 и T2), которые синхронизируются друг с другом с помощью переменной условия повышения и мьютекса, например:
boost::condition_variable global_cond;
boost::mutex global_mutex;
boost::unique_lock<boost::mutex> lock( global_mutex);
thread1() {
global_cond.notify_one();
code_block_a();
}
tread2() {
global_cond.wait(lock)
code_block_b();
}
Допустим, я могу предусмотреть, что поток 2 сначала будет ждать, а затем поток 1 сделает уведомление.
Мой вопрос в том, является ли детерминированным то, что code_block_a() или code_block_b() будут выполняться первыми?