Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Linux Как уменьшить количество подключений к сокету до одного? Всем привет. Вопрос в общем-то идиотский ) Все борются с тем, как увеличить, а мне надо наоборот :) Есть написанный серверный код, который запускает листнер на порту и ждет подключения клиента... krolligator, вот такой костыль имеет место быть :) listen(listener, 1); select(...); aceept(...) listen(listener, 0); работаем с клиентом. https://www.cyberforum.ru/ cpp-linux/ thread2366630.html C++ Linux HTTP/2.0 как отправить GET-запрос? Всем привет! Протокол HTTP/2.0 становиться популярным и уже многие сайты начали его поддерживать. Но как отправить GET-запрос и получить содержимое интернет-страницы? Знаю только, что нужно сжимать... https://www.cyberforum.ru/ cpp-linux/ thread2362637.html
C++ Linux Шелл Вот пока что код для шелла, нужна помощь в реализации просмотра истории команд, конвейера,cd и pwd. Чем будет отличаться вызов встроенной в шелл команды от обычной программы которую нужно записать? С... в реализации просмотра истории командman readline конвейераУ вас проблема в парсинге или в самой организации конвейера через пайпы? Чем будет отличаться вызов встроенной в шелл команды от обычной... https://www.cyberforum.ru/ cpp-linux/ thread2365776.html C++ Linux Передача данных через неименованный канал. Азы По неизвестным мне причинам при попытке передачи данных от процесса-потомка процессу-родителю через неименованный канал процесс-родитель принимает мусор, вместо передаваемой ему последовательности... Вы просто забыли создать канал. Вызовите pipe(fd); перед форком https://www.cyberforum.ru/ cpp-linux/ thread2362654.html
C++ Linux Пинг-понг трех процессов:два сына и отец https://www.cyberforum.ru/ cpp-linux/ thread2362780.html
Формулировка задания: Реализовать пинг-понг трех родственных процессов – отца и двух сыновей. Коммуникации – через неименованный канал (pipe). Синхронизация – с помощью сигналов. Остановка – при... Вот мой совсем сырой код, проблема в том,что он, во-первых, не всегда заканчивает на 100(иногда на 101Ну у процессов же свои значения счетчика _до_ чтения. Нужно выделить отдельный сигнал для...
C++ Linux Отлов нажатия клавиатуры в Linux
Здравствуйте, может кто то подсказать как сделать глобальный отлов нажатия клавиш клавиатуры? В винде я сделал через WinAPI, а вот как в линухе сделать, чет никак ненайду... пробовал такой вариант ... как сделать глобальный отлов нажатия клавиш клавиатуры? Клавиатуре соответствует один из файлов /dev/input/eventX Рут может читать этот файл. Формат: struct input_event { struct timeval time;...
C++ Linux Виснет поток в модуле ядра https://www.cyberforum.ru/ cpp-linux/ thread2363508.html
Всем привет. Есть модуль ядра который принимает информацию от программы и записывает ее на плату, мне нужно сделать защиту от зависания программы, т. е. если программа не присылает никакакой...
C++ Linux Клиент-сервер: ошибка сегментирования (стек памяти сброшен на диск) https://www.cyberforum.ru/ cpp-linux/ thread2367431.html
Здравствуйте. Пишу небольшой клиент-сервер. По заданию клиент посылает на сервер число, а сервер возвращает сумму всех чисел, переданных ему на данный момент. Все написал, скомпилировал так: ggc... int addr_struct_len = sizeof(sock_adress.sun_family) + strlen(sock_adress.sun_family); тут
C++ Linux Как заставить make продолжать выполнения после failed recipe? Я знаю о замене rm соответствующей встроенной переменной $(RM), но мне нужно универсальное решение типа '-' префикса перед командой. Да, я о нём прочитал, и он должен мне вроде бы подойти, но... просто '-' не работает. Почему? Вам же написали, что ошибка проигнорирована. Если у цели есть другие команды, то они продолжат выполняться. https://www.cyberforum.ru/ cpp-linux/ thread2367026.html Получение приоритетов потоков C++ Linux
Здравствуйте! Есть задача: Напишите программу, создающую два-три потока, сообщающую приоритеты этих потоков #include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <sys/wait.h>... В общем-то у вас все нормально кроме последовательности pthread_create() + использование pthread_t + проверка а создана ли нить. Просто дефолтный шедулер не имеет приоритетов и код должен показывать...
C++ Linux Работа с процессами
Разработать и отладить процедуру, выполняющую следующие действия: ответвление текущего процесса; запуск трех процессов-потомков; вывод на консоль идентификаторов этих процессов; закрытие процессов в... #include <stdio.h> #include <sys/types.h> #include <unistd.h> int main() { pid_t pid1; pid1 = fork();
C++ Linux Клиент-сервер TCP для Linux с fork https://www.cyberforum.ru/ cpp-linux/ thread2364136.html
Помогите написать клиент серверную программу TCP для Linux с fork. Демонстрация должна быть такая: к серверу подключается несколько клиентов и каждый клиент должен передавать сообщения 1(1 клиент... Задание понятно. Что уже сделано и что конкретно не получается?
724 / 224 / 72
Регистрация: 01.03.2011
Сообщений: 629
09.12.2018, 14:10 0

Проблема с синхронизацией процессов - C++ Linux - Ответ 13140541

09.12.2018, 14:10. Показов 830. Ответов 1
Метки (Все метки)

Ответ

Тут достаточно хранить сумму как число и использовать __atomic_add_fetch().
Если очень хочется мьютекс, то создавайте его в разделяемой памяти (кстати shmat() достаточно сделать 1раз до fork) с атрибутом PTHREAD_PROCESS_SHARED

Вернуться к обсуждению:
Проблема с синхронизацией процессов C++ Linux
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.12.2018, 14:10
Готовые ответы и решения:

проблема с синхронизацией Lotus Traveler
День добрый! Такая проблемка возникла: Существует две учетные записи, ссылающиеся на однин почтовый файл, обе имеют internet адрес и...

STM32F429 + LTDC+ VGA - проблема с синхронизацией.
Купил отладочную плату Core429I (на ней установлены STM32F429IGT6 и SDROM IS42S16400J). Изготовил для нее плату с R-2R ЦАП и разъемом для...

Проблема с GetProcesses() и поиском процессов
К сожалению функция GetProcesses() возвращает только список процессов того пользователя под которым запущена программа. Например если...

1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.12.2018, 14:10
Помогаю со студенческими работами здесь

Проблема с удалением фоновых рабочих процессов
Здравствуйте! Проблема с удалением фоновых рабочих процессов. В &quot;postgresql.config&quot;, параметр &quot;max_worker_processes&quot;...

Читалка с синхронизацией
люблю книжки почитать на планшете и телефоне, но планшет андроидный, а телефон - виндофоновский, если ли какая то читалка на обоих...

Счетчик с синхронизацией с сервером
Делаю прогу на Delphi 7 хочу сделать ограниченное использование, раз в 24 часа, по московскому времени, нужна синхранизация с сервером,...

Странность с вертикальной синхронизацией
Доброго вечера. Хотел описать свою проблему с которой уже борюсь почти с покупки ПК. ПК обновить я решил примерно год назад на такой вот...

Локальная БД с синхронизацией с сетевой БД
Всем доброго времени суток. Есть вопрос как правильно реализовать следующую схему. В программе забивается БД и храниться локально, а...

0
Новые блоги и статьи
Что нового в C# 14
UnmanagedCoder 10.03.2025
Предстоящая версия C# 14 обещает принести изменения, которые сделают разработку еще более приятной и эффективной. Что стоит отметить, так это влияние сообщества разработчиков на формирование новых. . .
Формулы поворота
Igor3D 10.03.2025
Добрый день Тема Эти формулы приводятся во множестве тьюториалов, часто под видом "матрица вращения на плоскости". x' = x * cos(a) - y * sin(a) y' = y * cos(a) + x * sin(a) Как бы Вы их. . .
Что нового в .NET 10
UnmanagedCoder 10.03.2025
. NET 10 выходит как релиз с длительной поддержкой (LTS), включающей три года обновлений. В этом обновлении Microsoft сфокусировались на нескольких направлениях: производительность, оптимизация. . .
Отложенное высвобождение, RCU и Hazard Pointer в C++26
NullReferenced 09.03.2025
Многопоточное программирование стало важной частью современной разработки. Когда несколько потоков одновременно работают с общими данными, возникает целый ряд проблем, связанных с синхронизацией и. . .
Неблокирующийся стек на C++26
NullReferenced 09.03.2025
Традиционные способы синхронизации в многопоточном программировании — мьютексы, семафоры, условные переменные — часто превращаются в узкое место в плане производительности. При этом неблокирующиеся. . .
Обработка строк в C++26: Новые возможности string и string_view
NullReferenced 09.03.2025
Новый стандарт C++26 предлагает много улучшений для работы с привычными string и относительно новыми string_view. string_view - это невладеющая ссылка на последовательность символов, появившаяся в. . .
Мой первый аддон для Blender 3D, с помощью нейронки (не зная даже азов пайтона, но это не значит что так и с остальным).
Hrethgir 09.03.2025
Потратил весь день. Пол-дня мне хватило, чтобы понять что с версией с 14B мне не одолеть написание функционального кода, на языке с которым я вообще никак не знаком - пайтон. Версия 22B от другого. . .
Einstein@Home сегодня исполняется двадцать лет!
Programma_Boinc 09.03.2025
Einstein@Home сегодня исполняется двадцать лет! Отправлено 19 февраля 2025 года в 17:20:21 UTC Я хочу поздравить всех наших волонтеров, разработчиков и ученых из Einstein@Home. Мы официально. . .
Заполнители и расширенный набор символов в C++26
NullReferenced 09.03.2025
C++26 представляет два важных обновления: заполнители и расширенный набор символов. Заполнители (placeholders) решают давнюю проблему лаконичности кода в шаблонных выражениях и лямбда-функциях. Они. . .
Контракты в C++26
NullReferenced 09.03.2025
Контракты – это механизм, позволяющий указывать предусловия, постусловия и инварианты для функций в коде. Эта функциональность должна была стать частью C++20, но была исключена на встрече комитета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru