|
1 / 1 / 1
Регистрация: 03.03.2011
Сообщений: 44
|
||
Взаимодействие между процессами двух приложений30.12.2012, 06:10. Показов 5472. Ответов 15
Метки нет (Все метки)
В задании к лабораторной сказано, что нужно открыть файл в одном приложении, а считывать данные с помощью другого приложения. Не могу представить, как это вообще должно происходить, можете объяснить на пальцах?
Текст задания:
0
|
||
| 30.12.2012, 06:10 | |
|
Ответы с готовыми решениями:
15
Организовать конвейерное взаимодействие между тремя процессами Взаимодействие двух приложений Взаимодействие двух разных приложений |
|
|
|
| 30.12.2012, 11:06 | |
|
0
|
|
|
41 / 22 / 12
Регистрация: 07.12.2011
Сообщений: 114
|
|
| 30.12.2012, 11:21 | |
|
для этого надо знать основы Win API.
я думаю так: 1.Создаешь процесс который открывает файл, записывает в него и т.д. Видимо эта информация/файл в разделяемой памяти. 2.Создаешь второй процесс и в нем потоки обработчики. 3.Процесс обращается к разделяемой памяти. 4.Информация в разделяемой памяти синхронизирована с помощью.... 5.Создаешь потоки во втором процессе которые записывают информацию в файлы.
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 30.12.2012, 11:25 | |
|
Постановка задачи корявая. Как это- открыть файл на считывание одним приложением (может быть создать? тогда другое дело), а считывать другим? Впрочем, почему бы и не попробовать, чисто из учебных целей.
Теперь по синхронизации. Тут особо ничё синхронизировать и не надо- считывай себе и всё. Если бы стояла задача: один поток читает до позиции X, второй с позиции X до позиции Y, третий с позиции Y до позиции Z- то есть если бы работа одного потока зависела от результата работы другого- надо было бы синхронизровать. А тут каждый поток может считывать пока всё не считает и ничего о другом потоке не знать. Куда тут синхронизацию запихать? Не нужна она.
0
|
|
|
41 / 22 / 12
Регистрация: 07.12.2011
Сообщений: 114
|
||
| 30.12.2012, 11:31 | ||
|
может надо будет передавать информацию по строкам? может такая же ситуация быть? ну или вариант передать файл полностью, то есть пока первый поток не отработает, не передаст, второму потоку нельзя обратится к файлу, вдруг там что-то изменится и т.д.
0
|
||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||||||||||||
| 30.12.2012, 12:13 | ||||||||||||||||
|
pavlovnik, вот глобальный массив:
Добавлено через 31 минуту
0
|
||||||||||||||||
|
41 / 22 / 12
Регистрация: 07.12.2011
Сообщений: 114
|
|
| 30.12.2012, 13:29 | |
|
значит я что-то не понимаю. Потоков несколько, они поочередно передают в файлы! А как соблюдать очередь без синхронизации? пока один поток всю информацию из файла не передаст в другой файл, следующий поток не может начать работу( по заданию а не по факту). А то создашь потоков и они будут параллельно выполняться.
при работе с общими файлами всегда нужна синхронизация. А если у него программа делает так, что информацию передается,а пользователь взял и изменил её. Тогда уже следующий поток будет измененную информацию передавать, а ставишь синхронизацию, что не изменять, пока до конца не передаст или в это роде, чтобы все логично было. может так? для нас все равно условия загадка) Добавлено через 56 секунд да и в задании синхронизация есть, значит либо он там нужна, либо ее все равно надо запихнуть, по требованию разработчика)
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||
| 30.12.2012, 14:06 | ||
|
заказчика, ты хотел сказать. Да там заказчик наверное как мы с тобой. Но в одном ты прав- условие загадка
0
|
||
|
|
|||
| 30.12.2012, 15:39 | |||
|
Добавлено через 2 минуты
0
|
|||
|
41 / 22 / 12
Регистрация: 07.12.2011
Сообщений: 114
|
|||
| 30.12.2012, 21:03 | |||
|
Стоп, как ты их последовательно то пустишь? По-моему ты пускаешь несколько потоков подряд, и они параллельно выполняются, если не напишешь функцию, WaitForMultipleObjects() ( надо конкретно смотреть сколько потоков ловить и т.д. Ведь запуская поток в майне дальше продолжается код и не останавливается, запускается следующий и следующий, а эта функция тормознет исполнение кода до наступления события. Поэтому мне и кажется что тут синхронизация должна быть, чтобы только ОДИН поток копировал файл, а остальные ждали))) Добавлено через 3 минуты
0
|
|||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||||
| 30.12.2012, 21:22 | ||||||||
|
"Функция pthread_join () используется для присоединения или воссоединения потоков выполнения в одном процессе. Эта функция обеспечивает приостановку выполнения вызывающего потока до тех пор, пока не завершится заданный поток."
Прошу любить и жаловать: библиотека pthread, в других билиотеках всяко-разно подобное должно присутствовать.
0
|
||||||||
|
41 / 22 / 12
Регистрация: 07.12.2011
Сообщений: 114
|
|
| 30.12.2012, 21:36 | |
|
я просто только CreateThread знаю и все) поэтому там по-другому ) поэтому и пишу исходя из этого)
0
|
|
|
41 / 22 / 12
Регистрация: 07.12.2011
Сообщений: 114
|
|
| 30.12.2012, 22:10 | |
|
ну мы про создание потоков ж а не процессов)
0
|
|
|
41 / 22 / 12
Регистрация: 07.12.2011
Сообщений: 114
|
||
| 31.12.2012, 14:57 | ||
|
0
|
||
| 31.12.2012, 14:57 | |
|
Помогаю со студенческими работами здесь
16
Взаимодействие двух приложений (передача данных) Взаимодействие двух самостоятельных веб-приложений Как организовать обменн данными по сети между двух приложений? Взаимодействие приложений на C++ Взаимодействие 2-х БД (2-х Приложений) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|