Как сделать wait-notify-one быстрее или есть альтернативный способ реализовать функцию wait-notify? - PullRequest
0 голосов
/ 01 ноября 2019

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

...