В моем текущем коде Windows используется именованное событие для взаимодействия между процессами. На событии может быть много процессов, когда это сигнализируется, все процессы ожидания освобождаются, а затем событие возвращается в состояние без сигнализации. Для этого я использую функцию PulseEvent.Как выполнить событие Interpcess в Linux с помощью AutoResetEvent из Windows
Как это сделать в Linux? Функции pthread, по-видимому, являются межпотоковыми. Я не вижу, где семафоры могут обеспечивать то же поведение, что и Windows. Семафор Posix, похоже, только выпускает один ожидающий поток. Если семафор может освободить все ожидающие потоки, тогда это сработает. Есть ли что-то в Linux, которое мне не хватает?
Считаете ли вы использование какой-нибудь портативной библиотеки, такой как Qt ?? –
Я не вижу, где он поддерживает функциональность, в которой я нуждаюсь. – user3076935
В зависимости от того, что именно вы хотите сделать, может быть переменная условия ('pthread_cond_init()/pthread_cond_wait()/pthread_cond_broadcast()/pthread_cond_destroy()') или барьер ('pthread_barrier_init()/pthread_barrier_wait()/pthread_barrier_destroy()') может быть уместным. – ninjalj