Здравствуйте, Курилка, Вы писали:
К>>>>1) заводим в EXE служебный поток — интерпретатор команд
СГ>>>Ключевое слово ПОТОК. Активные объекты в Active Oberon, Zonnon, (и, кажется, в Ada) работают друг с другом примерно так как Вы описали. У каждого объекта есть очередь, в которую ставятся команды-сообщения от других активных объектов.
SJA>>Ну обойдись без потока — опрашивай регулярно семафоры из главного потока.
SJA>>(надеюсь Вы не станете требовть решения СОВСЕМ без потоков ? )
К>Да ну, с потоками-то любой дурак сделает
Вижу, что с чувством юмора здесь полный порядок. А теперь по сути.
Активные объекты в Zonnon'e — это идея скрыть все низкоуровневое управление потоками и предоставить программисту возможность заниматься своей конкретной прикладной проблемой. Как они реализованы — вопрос шестнадцатый. На винде (точнне на .NET) — это, скорее всего, потоки. Будет другая платформа с другими абстракциями — будет и другая реализация.
Главное, что при их использовании у меня не будет болеть голова про всякие синхронизации, семафоры и мьютексы, мне не надо будет самому придумывать средства рассылки асинхронных сообщений, на надо сидеть днями в отладчике, чтобы выяснить, где же я попадаю в deadlock.
И не надо захлебываться в истерике о том, что это мертвый проект и он никому не нужен, как это сейчас можно наблюдать по отношению к BlackBox. История с OS/2 напоминает, что даже превосходный с технической точки зрения продукт не обречен на коммерческий успех.
Zonnon, как и многие проекты из ETH — проект исследовательскй, если проводить аналогию с физикой, то существуют фундаментальные исследования (этим занимаются ученые), а есть их применения в народном хозяйстве (а этим занимаются инженеры). Так вот, можно сказать, что в ETH занимаются фундаментальными исследованиями, и для того, чтобы это стало повседневным средством программистов их (эти идеи) надо еще очень много "обрабатывать напильником" в области маркетинга, документирования, рекламы, учебных курсов и тд.