Илья Ермаков писал(а):
Ясно, что присутствует.
Однако модель программирования ориентирована на общую память. На мелкогранулярный параллелизм над ней.
Общая память --- это большой плюс особенно для таких приложений как векторные и матричные операции большой размерности, чтобы не гонять большие объёмы данных.
Илья Ермаков писал(а):
В чём сложнее - не совсем понял. Сложнее обеспечить? Ну, ничего особенно сложного - достаточно простые механизмы у активных объектов. Ну и хорошо, что не сложно, а то была бы лишняя претензия к этим активным объектам
Сложнее в том, что сетевая параллельная модель проще параллельной модели в одном вычислительном пространстве. Одна только борьба за ресурсы чего стоит.
Илья Ермаков писал(а):
Моя позиция - не надо мне в одном объектном пространстве многих потоков.
Я очень рад за вас. По этому поводу есть очень старый анекдот:
сын: Папа, а правда что Windows мультизадачная система?
папа: Да, сынок, вот только дискетку до форматирую и покажу тебе.
Это я к тому, что если вам не требуется мультизадачность --- замечательно, но А2 --- это операционная система, со всеми вытекающими... и по сетке что-то получить и с диска файл подкачать и мультимедиа проиграть и т.д. и т.п.
Илья Ермаков писал(а):
Как только допускаем, имеем всем известные проблемы; а как только рискнём сказать - "а у нас не будет никогда многих потоков в одном объектном пространстве" - так начинаем свободней проектировать архитектуру, использовать простые и эффективные паттерны с глобальными объектами и т.п.
Но в этом случае мы заранее ограничиваемся программным окружением (подстилающей ОС) и аппаратными решениями. А2 может быть портирована куда угодно.
Илья Ермаков писал(а):
Как пример: в А2 возникли сразу проблемы с командами (в дисере описаны у них), что-то там передавать через глобальный контекст стало нельзя... Пришлось вымучивать потокобезопасные механизмы.
Ради чего?
Чтобы иметь возможность запускать систему на любом оборудовании (в том числе встроенном).