Re[18]: COM vs DLL vs OOP
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 16.03.04 12:56
Оценка: 18 (1)
DG>>Гарантия, того что каждый объект работает только в своем потоке. В итоге можно четко локализовать границу взаимодействия нескольких потоков.
DG>>пример:
DG>>допустим объект A вызывает объект B, который вызывает объект C
DG>>объект A живет в другом потоке, чем B и C
DG>>с объектом C также работает еще несколько других независимых клиентов

ЗБ>Ну, эта проблема решается за счет того, что к C доступ осуществляется только через B. И синхронизация только для B нужна тогда


Условие задачи необходимо читать тщательнее.
Я специально уточнил, что с C работает не только B, а еще и другие объекты.
В случае MTA, B выполняет запросы A к C в другом потоке.
т.е. для C получается, что с ним тоже работают из нескольких потоков, а значит нужна еще одна синхронизация уже для C.
если C общается с D, то и для D нужна синхронизация. Получается, что добавление к системе одного объекта A, работающего из нескольких потоков, привело к тому, что ко всем объектам системы придется добавлять синхронизацию или опять же делать очередь сообщений.
Re[19]: COM vs DLL vs OOP
От: Зимнее Безмолвие Россия  
Дата: 17.03.04 06:43
Оценка:
Здравствуйте, DarkGray, Вы писали:



DG>Условие задачи необходимо читать тщательнее.


Условие задачи я понял прекрасно, я его просто изменил.
Re[20]: COM vs DLL vs OOP
От: Зимнее Безмолвие Россия  
Дата: 17.03.04 06:46
Оценка:
Здравствуйте, Зимнее Безмолвие, Вы писали:


ЗБ>Условие задачи я понял прекрасно, я его просто изменил.


Если мы взаимодействие осуществляем через, скажем так, абстрактный класс (ну, через класс C), и только через него, то добавление в систему любого количества классов не приводит к необходимости добавлять синхронизацию и для них
Re[21]: COM vs DLL vs OOP
От: Зимнее Безмолвие Россия  
Дата: 17.03.04 06:49
Оценка:
Здравствуйте, Зимнее Безмолвие, Вы писали:



ЗБ>Если мы взаимодействие осуществляем через, скажем так, абстрактный класс (ну, через класс C), и только через него, то добавление в систему любого количества классов не приводит к необходимости добавлять синхронизацию и для них


что-то я не то пишу, читать так:

ЗБ>Если мы взаимодействие осуществляем через, скажем так, абстрактный слой (ну, через класс B), и только через него, то добавление в систему любого количества классов не приводит к необходимости добавлять синхронизацию и для них
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.