В моей программе на С ++ у меня есть объект X
, когда один поток хочет обработать X
, он должен ждать установки 'X-> state'. Во время ожидания этого потока (вызовом wait()
) другой поток может изменить 'X-> состояние'. Когда один поток изменяет 'X-> state', он вызывает notify_one()
. В этом случае я обнаружил, что время из одного потока изменяет 'X-> состояние', а другой поток, ожидающий от ожидания, очень высок, около 20-50 мкс (зависит от того, сколько потоков работает на машине). Это означает, что, когда один поток изменяет состояние и уведомляет, другому потоку все еще нужно долгое время, чтобы проснуться от ожидания. Есть ли способ сократить это время или есть другие способы реализовать те же функции.