Вопросы по теме 'shared-memory'

Что следует учитывать при реализации разделяемой памяти
Я планирую реализовать разделяемую память boost между сервером (C++) и клиентом (приложение C#). Есть только считыватель и один писатель, а частота обмена данными (чтение и запись) составляет тысячи раз в миллисекунду. Каковы риски?
1142 просмотров
schedule 13.10.2022

Способ поделиться переменной между несколькими потоками httpd с помощью Rails?
Допустим, у меня есть следующий поток в моем веб-приложении Rails: class MyController def my_action count = 0 arr = [] 10.times do |i| arr[i] = Thread.new { sleep(rand(0)/10.0) Thread.current["mycount"] =...
2040 просмотров

Нужно ли вызывать сон, когда критические секции находятся в цикле, чтобы избежать взаимоблокировки?
Соответствующие фрагменты кода из двух программ приведены ниже. По сути, потребитель удаляет из очереди целое число из общего буфера, а производитель ставит в очередь целое число из командной строки. Без вызова sleep в конце циклов возникает...
264 просмотров
schedule 24.12.2023

Фильтр 3D boxcar в CUDA с использованием общей памяти
Я пытаюсь посмотреть, может ли использование общей памяти для проблемы в объекте улучшить время выполнения и привести к некоторому ускорению: ФУНКЦИЯ ЯДРА БЕЗ ИСПОЛЬЗОВАНИЯ ОБЩЕЙ ПАМЯТИ __global__ void 3dc(const int nx, const int ny, const...
630 просмотров
schedule 23.04.2024

CreateFileMapping и OpenFileMapping не взаимодействуют в разных процессах
Я пытаюсь использовать CreateFileMapping и OpenFileMapping для совместного использования памяти между процессами. Это не работает так, как я хочу — OpenFileMapping возвращает null, а GetLastError — 5 — доступ запрещен. Любые идеи, что я делаю...
11443 просмотров
schedule 03.10.2022

(Win32) Куча, разделенная между процессами
Можно ли создать общий пул памяти между процессами (например, из CreateFileMapping с INVALID_HANDLE_VALUE в Win32), а затем использовать этот кусок памяти как кучу? Я хотел бы, чтобы операторы new / delete (или malloc / free )...
496 просмотров
schedule 19.10.2023

Я неправильно использую безымянную переменную семафора?
Я пытаюсь написать программу, в которой основной процесс выделяет общую память, а затем разветвляется 4 раза. Затем каждый процесс увеличивает на 1 целочисленную переменную в разделяемой памяти 500 раз. Таким образом, целочисленная переменная,...
96 просмотров
schedule 17.01.2024

Программирование с общей памятью медленнее с более новыми компиляторами по сравнению со старыми компиляторами
У меня есть ряд пакетных программ на С++, которые работают одновременно и используют общую память для передачи данных между ними. Программы созданы для Windows и UNIX с соответствующим кодом для каждого из них с использованием семафоров, мьютексов и...
232 просмотров
schedule 09.03.2024

Написание кода для родительских и дочерних процессов
У меня есть проект, в котором используется компонент, который длится в течение всего времени жизни процесса (см. Принудительное удаление недоступного статического объекта ). Чтобы этот компонент не сохранялся, мне нужно обернуть его в дочерний...
291 просмотров
schedule 25.01.2024

Общая память Linux: shmget() vs mmap()?
В этом потоке OP предлагается использовать mmap() вместо shmget() для получения общей памяти в Linux. Я посетил эту страницу и эту страницу, чтобы получить некоторую документацию, но второй дает неясный пример относительно mmap() ....
58125 просмотров
schedule 10.11.2022

boost :: interprocess функция сегмента разделяемой памяти функция find () зависает при запуске, если сегмент уже существует
Я пытаюсь использовать функцию совместной памяти boost, чтобы поместить вектор в общую память, как обсуждалось в эта статья о повышении квалификации . В основном все работает, за исключением случаев, когда я запускаю и сегмент разделяемой памяти...
1478 просмотров
schedule 21.04.2024

Общая память с контейнерами Docker (версия докера 1.4.1)
У меня есть 1 процесс, который записывает в определенный раздел общей памяти (например, «/ falcon») в контейнере докеров. Образ Docker: dockersharedmemory / shmclient У меня есть еще один процесс, который изначально создает и считывает один и...
18583 просмотров
schedule 19.07.2022

Биты разрешения на разделяемую память System V: значение и как изменить
Я знаю, что когда я создаю блок общей памяти, мы устанавливаем разрешение, чтобы каждый процесс мог читать и писать в этом блоке с помощью 0777 (не знаю, почему, мой учитель только что сказал использовать его таким образом). Я создаю с помощью...
651 просмотров
schedule 30.10.2023

Переменные общей памяти в C, ключевое слово extern
Если я создам переменные общей памяти в C, где они будут размещены (куча / стек / раздел данных / ...)? Я использую 64-битную Ubuntu с gcc-4.8 и compilerflag -m32 для 32-битной версии и этот код: segment_id = shmget (IPC_PRIVATE,...
537 просмотров
schedule 22.08.2022

Каково время жизни разделяемой памяти в Linux
Я создаю, записываю и читаю из общего сегмента в Linux, используя функции ftok/shmget/shmat/shmdt. Если я пишу сегмент в одной программе, которая затем закрывается, а затем читаю сегмент из другой программы позже, я с удивлением обнаруживаю, что...
1441 просмотров
schedule 18.10.2023

проблемы с разделяемой памятью boost:interprocess
У меня возникли проблемы с реализацией библиотеки boost/interprocess для операций с общей памятью между двумя программами. Это первый случай, когда я использовал какие-либо операции с общей памятью, и я сначала изменил некоторые примеры кода в...
606 просмотров

Apache Ignite Cache использует общую память для кэширования данных
Из документов/источников кажется, что Apache Ignite может использовать общую память только для целей связи (в качестве межсоединения между экземплярами, работающими на одном узле, вместо сокетов). Можно ли использовать большие сегменты общей памяти...
410 просмотров
schedule 28.11.2023

Сохранение 4-байтового изображения глубины pP из общей памяти
До сих пор каждый раз, когда у меня возникал вопрос, это сообщество помогало мне без необходимости задавать вопрос, но сегодня я должен задать свой первый вопрос, потому что я не мог найти ответ, и я отчаянно нуждаюсь в помощи сообщества. Я работаю...
96 просмотров
schedule 26.10.2023

список объектов/списков общей памяти с гибким размером только для чтения (только для добавления) - правильный способ хранения?
Данные: у меня есть два очень длинных списка (до 500 миллионов элементов каждый), которые чрезвычайно используются (только для чтения, без изменений) моей параллельной частью программы. Первый - это список строк, второй - список списка целых чисел....
169 просмотров

Я получаю сообщение shmat: разрешение отклонено при попытке подключения к общей памяти. Почему?
У меня небольшие проблемы с общей памятью, и мне не помешало бы небольшое руководство, если бы кто-то мог указать мне правильное направление. // Allocate Shared Memory key_t key = 56789; int shmid; char* shm_address; int* value; // Reserve the...
904 просмотров
schedule 04.10.2022