Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Семафоры, Семафоры 
:(
    Опции темы
mr.DUDA
Дата 24.12.2007, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(Fieral @  24.12.2007,  16:31 Найти цитируемый пост)
Ну хорошо, я потом посмотрю подробнее документацию, а пока вот вопрос:код
решит поставленную проблему?
если "да" то чем это хуже использования MC#?

Не решит, т.к. lock работает в рамках одного процесса. Насколько я понял из объяснения, нужно синхронизировать отдельные процессы (а lock блокирует потоки).



--------------------
user posted image
PM MAIL WWW   Вверх
YuryS
Дата 25.12.2007, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 15.9.2007

Репутация: 1
Всего: 1



Цитата(Fieral @  24.12.2007,  17:31 Найти цитируемый пост)
решит поставленную проблему? если "да" то чем это хуже использования MC#?


Ну, во-первых, здесь не сформулировано четко в чем же проблема ?
Когда поставлена проблема организовать конвейер,
это я понимаю ...

Если подразумевается организовать просто взоимодействие 2-ух процессов
через общую память (переменную value),
то приведенное решение страдает тем же недостатком,
о чем спрашивалось ранее,
т.е., придется в цикле все время крутить метод ReadWrite,
чтобы проверять флаг read.

Наконец, всё-таки правильней не изобретать велосипед,
а освоить уже имеющиеся средства,
чтобы тратить время собственно на задачу,
а не на вспомогательные параллельные штучки.
PM MAIL   Вверх
tol05
Дата 25.12.2007, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 63
Всего: 170



Цитата(YuryS @  24.12.2007,  13:05 Найти цитируемый пост)
Главный процесс запускает 2 подчиненных процесса,
которые поочередно выполняют свою работу в зависимости от состояния системы.

ИМХО это называется распределенное приложение. И разрабатывать эти три процесса нужно как remoting приложения. Сделать возможность генерирования "подчиненными" процессами событий типа Set и Reset (начала и конец блокировки ресурса).
Один процесс занимает ресурс и генерирует событие для блокировки другого процесса. По окончанию работы он генерирует событие для снятия блокировки того, другого, процесса.


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
YuryS
Дата 25.12.2007, 11:35 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 15.9.2007

Репутация: 1
Всего: 1



Цитата(tol05 @  25.12.2007,  10:40 Найти цитируемый пост)
это называется распределенное приложение. И разрабатывать эти три процесса нужно как remoting приложения


Все эти три процесса работают на одной машине,
поэтому "распределенность" и "remoting" здесь не причем.
PM MAIL   Вверх
QryStaL
Дата 25.12.2007, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


Профиль
Группа: Участник
Сообщений: 914
Регистрация: 30.11.2005

Репутация: 14
Всего: 32



YuryS, Remoting как раз и нужен для взаимодействия между процессами и доменами приложений. С этой точки зрения физической размещение процессов роли не играет.


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
YuryS
Дата 25.12.2007, 12:08 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 15.9.2007

Репутация: 1
Всего: 1



Цитата(QryStaL @  25.12.2007,  12:00 Найти цитируемый пост)
Remoting как раз и нужен для взаимодействия между процессами и доменами приложений


Все 3 процесса работают в рамках одного приложения,
поэтому домены здесь не причем.
Remoting, по определению, используется для взаимодействия 
процессов, расположенных на разных компах.
PM MAIL   Вверх
mr.DUDA
Дата 25.12.2007, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(YuryS @  25.12.2007,  11:08 Найти цитируемый пост)
Все 3 процесса работают в рамках одного приложения,

Терминология хромает. Процесс и приложение - синонимы. Ваш "процесс" в общепринятой терминологии называется "поток".

Вот для синхронизации потоков оператор lock - именно то что нужно.


--------------------
user posted image
PM MAIL WWW   Вверх
tol05
Дата 25.12.2007, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 63
Всего: 170



Цитата(YuryS @  25.12.2007,  10:35 Найти цитируемый пост)
Все эти три процесса работают на одной машине,
поэтому "распределенность" и "remoting" здесь не причем. 


Цитата(YuryS @  25.12.2007,  11:08 Найти цитируемый пост)
Все 3 процесса работают в рамках одного приложения,
поэтому домены здесь не причем.
Remoting, по определению, используется для взаимодействия 
процессов, расположенных на разных компах. 

А откуда это "определение"?

YuryS, у тебя неправильная информация smile 

ремоутинг - это технология кросс-доменного взаимодействия (или даже кросс-контекстного), а где расположены эти домены - в одном приложении, в разных процессах, на разных машинах в укромных уголках земного шара, или даже на планете "Кргмн-мняу-мняу" - это безразлично.

Думаю, тебе стоит ознакомится с этой технологией поподробнее.



--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
mr.DUDA
Дата 25.12.2007, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Для многопоточного приложения заводить домены на каждый поток не нужно.


--------------------
user posted image
PM MAIL WWW   Вверх
YuryS
Дата 25.12.2007, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 15.9.2007

Репутация: 1
Всего: 1



Цитата(mr.DUDA @  25.12.2007,  14:31 Найти цитируемый пост)
Для многопоточного приложения заводить домены на каждый поток не нужно.


Вот-вот, а потому remoting и все его средства здесь не причем.
PM MAIL   Вверх
tol05
Дата 25.12.2007, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 63
Всего: 170



mr.DUDA, а с чего вы взяли, что это мультипоточное, а не мультипроцессное приложение? Почему вдруг все стали говорить о потоках? Как я понял автора вопроса (Fieral) - есть независимые процессы. Не потоки...

сначала
Цитата(mr.DUDA @  24.12.2007,  20:58 Найти цитируемый пост)
Не решит, т.к. lock работает в рамках одного процесса. Насколько я понял из объяснения, нужно синхронизировать отдельные процессы (а lock блокирует потоки).


а потом уже 
Цитата(mr.DUDA @  25.12.2007,  13:31 Найти цитируемый пост)
Для многопоточного приложения заводить домены на каждый поток не нужно. 

что случилось, mr.DUDA?  smile 


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
mr.DUDA
Дата 26.12.2007, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



tol05, автор вопроса не подтвердил и не опровергнул моего предположения о том, что речь идёт о потоках. Пока речь шла о процессах, lock не был применимым вариантом. Для потоков наоборот.


--------------------
user posted image
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.1045 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.