|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.03.2016, 19:10 | #1 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
Возможно ли создать именованную глобальную область в куче?
Добрый день.
Собственно вопрос по сабжу. Есть ли api-функции для выделения именованной области памяти указанного размера в куче с целью открытия, чтения, записи разными процессами? Как вариант файловый маппинг, но он работает со свопом, что не есть быстро. Или я ошибаюсь? Посоветуйте варианты. Спасибо!
"ковыряю изнутри" (с)
|
14.03.2016, 19:16 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,493
|
Чтоб решить что лучше, надо знать что нужно.
Своп работает достаточно быстро, не парьтесь об этом. |
14.03.2016, 19:20 | #3 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
окей, значит что нужно: нужно позволить энному количеству процессов читать/писать данные объемом в несколько кбайт. и вопрос в догонку если выбор на файловом маппинге - заботится ли система о синхронизации чтения/записи выделенного участка памяти разными процессами? или же придется защищать вызовы чтения/записи объектом синхронизации?
"ковыряю изнутри" (с)
|
14.03.2016, 21:14 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
синхронизация такая же как в случае с файлом, никакая.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
14.03.2016, 21:38 | #5 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,493
|
Защищать это еще полдела. Потом еще надо будет сигнализировать, что данные можно обрабатывать.
Я бы сделал через mailslot... |
19.03.2016, 19:16 | #6 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
Ищу способ синхронизации чтения/записи объекта мэппинга разными процессами/потоками без использования объектов синхронизации.
Нашел функции: FlushViewOfFile https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx FlushFileBuffers https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx Задача такая: возможно ли без мьютексов, событий и т.д. сделать синхронный доступ к файловому мэппингу одновременно разными процессами? ведь насколько я понимаю, сброс файловых буферов приведет к записи на диск, а это синхронная операция, и выполняется она атомарно для переданного количества данных? Либо если я ошибаюсь, кто может разъясните смысл этих функций. Спасибо.
"ковыряю изнутри" (с)
|
19.03.2016, 19:30 | #7 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,656
|
буфер обмена мож подойдёт?
афтор, колись - чо задумал! А не то спущу сабаку! Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
19.03.2016, 19:39 | #8 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
буфер обмена - возможно создать свой личный буфер, не задействуя системный? и можно ли сделать его именованным для многосессионного доступа (из разных учеток Винды)?
"ковыряю изнутри" (с)
Последний раз редактировалось 3D Hunter; 19.03.2016 в 19:42. |
19.03.2016, 20:05 | #9 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
Одним предложением: необходимо создать ИМЕНОВАННУЮ структуру выделенной ГЛОБАЛЬНОЙ памяти с возможностью СИНХРОННЫХ операций чтения/записи РАЗНЫМИ процессами.
С помощью каких функций данное возможно организовать и возможно ли в принципе?
"ковыряю изнутри" (с)
|
19.03.2016, 20:38 | #10 | ||
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,656
|
Цитата:
Цитата:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
||
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Возможно ли создать экономическую игру на флэш? | KookRap | Помощь студентам | 7 | 29.08.2015 23:02 |
Возможно ли создать форму в dll ? | snake9x | Visual C++ | 1 | 08.05.2013 12:09 |
Возможно ли создать ПРОГРАММУ ? | dikzz | Помощь студентам | 1 | 26.11.2012 23:11 |
Возможно ли создать такой пользовательский формат? | motorway | Microsoft Office Excel | 16 | 21.05.2010 00:45 |
Возможно ли создать локальные дескрипторы окон? | Mixim | Win Api | 1 | 26.02.2010 10:27 |