Вы можете использовать семафор или переменную условия.
Семафор
У потока событий будет операция sem_post (), у потока операций будет операция sem_wait ().
Переменная условия
Похож на семафор. Условная переменная работает с мьютексом. Когда происходит событие, сообщите операционному потоку (pthread_cond_signal ()). Сигнал будет получен потоком операций, который ожидает в pthread_cond_wait ().