![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
И потоками, и процессами (потоками разных процессов). Обычно процессами, ибо для потоков внутри одного приложения есть более удобные вещи.
А семафор от мьютекса не этим отличается.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 27.10.2015 в 22:06. |
![]() |
![]() |
![]() |
#12 |
Форумчанин
Регистрация: 13.08.2015
Сообщений: 193
|
![]()
Вообще от вспомнилось что можно между процессами делать общие данные. Хорошо бы чтобы одна программа считала данные из файла и к ним могли бы обратиться другие программы. Типо сделать как в потоках глобальные данные.
|
![]() |
![]() |
![]() |
#13 |
Форумчанин
Регистрация: 13.08.2015
Сообщений: 193
|
![]()
а как сделать через мутекс ? Нашол пример кода
Код:
Щас смоделирую, запусщю две программы одной заблокирую, а другой попробую прочитать файл и что то мне кажется она прочитает файл |
![]() |
![]() |
![]() |
#14 | |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Задача-то исходная в чем состоит? Что за извращение вы пытаетесь сделать с файлом и процессами?
http://www.gunsmoker.ru/2008/10/x-y-z.html А синхронизация нужна для любых ресурсов используемых разными потоками, не только файлов. Цитата:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 27.10.2015 в 22:17. |
|
![]() |
![]() |
![]() |
#15 | |
Форумчанин
Регистрация: 13.08.2015
Сообщений: 193
|
![]() Цитата:
протестим. Вот код тестовый, блокирую как бы код, а из копии программы также вызывает вывод dddd, а должно вызывать что заблокировано. Код:
Последний раз редактировалось ninja2; 27.10.2015 в 22:29. |
|
![]() |
![]() |
![]() |
#16 | |
Форумчанин
Регистрация: 13.08.2015
Сообщений: 193
|
![]() Цитата:
Да работает, нужно чтобы поток владельшем не был и идентификатор задать. Код:
Последний раз редактировалось ninja2; 27.10.2015 в 22:37. |
|
![]() |
![]() |
![]() |
#17 | |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
![]() Цитата:
вот вам даже пример решения схожей с вашей задачи с помощью мьютекса (правда на плюсах, но суть та же) http://www.firststeps.ru/mfc/winapi/r.php?9 p.s. блин, все обсуждение пропустил)
Благодарить в репутацию. Проклинать — туда же
![]() |
|
![]() |
![]() |
![]() |
#18 |
Форумчанин
Регистрация: 13.08.2015
Сообщений: 193
|
![]()
Да ты прав, все отлично работает.
Хорошо бы еще как то переменную создать к которой смогут обращаться процессы. Мб. кто то знает как такое сделать. От допустим запускаем одну копию программы и создается переменная. Запускаем вторую копию программы и она видит эту переменную и использует ее. типо эмитация потоков. Какждый раз файл читать не сильно мб. удобно, проще в памяти хранить массив с данными и в нем уже шарить. ))) |
![]() |
![]() |
![]() |
#19 | |
Форумчанин
Регистрация: 13.08.2015
Сообщений: 193
|
![]() Цитата:
В потоках это проще сделать. Читал в книге что есть механизм что что можно и между процессами даными обмениваться он как то называется email-адресация или хз. То книга старая была 2003 год, щас уже 2015, наверняка есть что то. Как создать общую переменную между процессами? |
|
![]() |
![]() |
![]() |
#20 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]() Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Блокирование события | Gagapsha | JavaScript, Ajax | 5 | 19.02.2014 18:06 |
Блокирование файла | Balabek | Общие вопросы C/C++ | 10 | 20.07.2012 14:27 |
Блокирование ALT+F4 | Killbrum | Win Api | 5 | 14.03.2009 12:23 |
Блокирование клавиатуры | Milly | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 18.10.2007 19:15 |
блокирование функции | Fireleo | Win Api | 5 | 29.07.2007 17:04 |