У меня есть несколько контейнеров данных, которые могут отправлять сигнал, когда в них есть обновления. Структура выглядит примерно так:
typedef struct {
int data;
/*...*/
pthread_cond_t *onHaveUpdate;
} Container;
onHaveUpdate - это указатель на глобальное условие, общее для всех контейнеров
В моем приложении есть несколько таких структур, и они могут одновременно обновляться разными потоками.
Теперь, могу ли я иметь поток, который прослушивает условие и может выполнить что-то с контейнером, который отправляет уведомление?
Я знаю, что это можно решить, используя один поток на контейнер, но это кажется пустой тратой ресурсов, но мне было интересно, можно ли это сделать, используя только один поток для всего контейнера?