OSDev

для всех
Текущее время: 30 апр 2024, 07:43

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 179 ]  На страницу Пред.  1 ... 14, 15, 16, 17, 18
Автор Сообщение
СообщениеДобавлено: 15 фев 2012, 11:25 

Зарегистрирован: 25 май 2010, 20:58
Сообщения: 136
Очень неоднозначно понял...
Цитата:
Главным достоинством апартамента STA является то, что разработка объекта COM и клиентской части проста в том смысле, что нет нужды заботиться о синхронизации вызовов методов и их выполнения: следующий метод начнет выполняться только после того, как закончится выполнение предыдущего.

STA-объекты получают управление только по запросу, или могут исполняться параллельно, каждый со своей активностью? В первом случае нельзя говорить о многозадачности (даже кооперативной) - это простая линейная программа, только вместо передачи аргументов в стеке - сообщения (как в Смолтолке или Ио). Если же STA-объекты - активные объекты, то смущает отсутствие главной процедуры, выполняющей диспетчеризацию их активностей. Вместо неё - постоянная прослушка очереди входных сообщений с последующим выбором "метода". Было бы эффективней выполнять диспетчеризацию активности самого объекта при отправке ему сообщения. Тогда пришлось бы крутить не очередь сообщений, а очередь планирования/исполнения. Тут же - иначе. Пока склоняюсь к мнению, что на основе STA нельзя реализовать активную многопоточную систему.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 фев 2012, 16:03 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Да, всё верно ты описал. Ни какие процедуры в COM с STA не выполняются параллельно, и даже псевдопараллельно, а только упорядоченно. Можно ещё MTA посмотреть, но я сейчас уж не помню механизма работы. Надо память освежить. Просто я вместо MTA обычно Free Model использую, это чистая параллельность, где синхронизация это проблема самого объекта.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 фев 2012, 16:16 

Зарегистрирован: 25 май 2010, 20:58
Сообщения: 136
Химик, есть мысли о какой-нибудь высокоуровневой среде разработки, или открытом стандарте, с помощью которых возможна реализация эффективных объектных систем? Главное - активных.
п.с. Что за фри-модель такая?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 фев 2012, 23:53 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
В STA модели порядок вызова методов находится под контролем системы, система там пытается что-то упорядочить, а во Free ничего такого нет. И без применения синхронизации возможны коллизии, как в обычных процедурах. Free это просто другое название MTA. Может и есть различия, не знаю точно.

У меня пока нет идей насчёт активных объектов. А что ты придумаешь лучше COM, DotNet, Oberon или какого-нибудь Objective C?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 фев 2012, 01:43 

Зарегистрирован: 25 май 2010, 20:58
Сообщения: 136
Я не против формального описательного языка. Вроде UML, но менее замороченного и желательно тьюринг-полного, чтобы описанную на нём объектную систему можно было легко перевести на целевой язык. Для синхронных моделей есть CSP, для модели акторов можно подсмотреть примеры на ЮМЛе. Предлагаю обсудить акторы.. О них википедия (в отличии от ЦСП) немного намекает..


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 фев 2012, 17:25 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Я не особо увлекаюсь объектами.
Если любишь формальный принцип описания - посмотри F#. Справка на него должна быть в MSDN и Visual Studio 2010.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 фев 2012, 17:46 

Зарегистрирован: 25 май 2010, 20:58
Сообщения: 136
Я тоже объектами не увлекаюсь - музыкой увлекаюсь. Просто объектная модель отлично описывает структуру современных систем, начиная от приложений типа блокнота, и заканчивая сетью интернет. На мой взгляд это достаточно гибкая и высокоуровневая абстракция. А для формального описания достаточно таких вещей как: поведение, реакция, состояние и т.д. Можно даже на бумаге или устно, не обязательно на F#:)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 фев 2012, 19:53 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Я думаю, что не обязательно использовать один инструмент и один вид проектирования как для макро, так и для микро уровня. Графическое представление в виде блок-схемы с применением UML можно изображать отдельно, а конкретные реализации можно выполнять разными инструментами. К графической модели должны быть привязаны спецификации, а какими средствами они выполняются - не суть важно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 фев 2012, 22:47 

Зарегистрирован: 25 май 2010, 20:58
Сообщения: 136
Согласен.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 179 ]  На страницу Пред.  1 ... 14, 15, 16, 17, 18

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB