Я ищу примитив ожидания / синхронизации сигналов в IO / Kit, работающий следующим образом:
Thread1: wait (myEvent) // Блокирующий поток1
Thread2: wait (myEvent) // Blocking thread2
Thread3: signal (myEvent) // Освобождение одного из thread1 или thread2
Это невозможно сделать с помощью IOLock, поскольку операции блокировки / разблокировки будут выполняться из разных потоков, что является плохой идеей в соответствии с некоторыми документами, которые я прочитал.
Thread1, 2, 3 могут быть пользовательскими потоками или потоками ядра.
Я также хотел бы иметь дополнительное времяс операцией ожидания.
Спасибо за вашу помощь!