0 / 0 / 0
Регистрация: 06.03.2018
Сообщений: 30
|
||||||
1 | ||||||
Проблема с синхронизацией процессов08.12.2018, 22:58. Показов 785. Ответов 1
Метки нет (Все метки)
Здравствуйте, форумчане. Пишу небольшой клиент-сервер с таким заданием: клиент посылает число, сервер отсылает обратно сумму всех чисел, принятых на данный момент, притом со стороны сервера каждый обработчик чисел - отдельный процесс.
Все написал, но есть проблема. Так как несколько клиентов могут послать числа одновременно, хорошо бы было синхронизировать процессы. Решил сделать это с помощью мьютексов, но видимо ошибся в их реализации и все равно получается так, что разные процессы одновременно принимают и отправляют числа, выводя неправильный результат. Подскажите, как правильно синхронизировать процессы в моем случае? или мьютексы только с нитями работают? Сервер:
0
|
08.12.2018, 22:58 | |
Ответы с готовыми решениями:
1
проблема с синхронизацией Lotus Traveler STM32F429 + LTDC+ VGA - проблема с синхронизацией. Проблема с GetProcesses() и поиском процессов Проблема с удалением фоновых рабочих процессов |
724 / 224 / 72
Регистрация: 01.03.2011
Сообщений: 629
|
|
09.12.2018, 14:10 | 2 |
Тут достаточно хранить сумму как число и использовать __atomic_add_fetch().
Если очень хочется мьютекс, то создавайте его в разделяемой памяти (кстати shmat() достаточно сделать 1раз до fork) с атрибутом PTHREAD_PROCESS_SHARED
0
|
09.12.2018, 14:10 | |
09.12.2018, 14:10 | |
Помогаю со студенческими работами здесь
2
Читалка с синхронизацией Счетчик с синхронизацией с сервером Странность с вертикальной синхронизацией Локальная БД с синхронизацией с сетевой БД Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |