Я задаю этот вопрос, потому что исследовал Haiku OS (потомок BeOS).
Целью операционной системы BeOS было создание среды рабочего стола, которая хорошо обрабатывала бы мультимедиа и была бы очень отзывчивой. Они справляются с этим, создавая ядро с «повсеместной многопоточностью».
Другие операционные системы (Linux, Windows и т. д.) Не имеют такой «повсеместной многопоточности» и, следовательно, не так отзывчивы. (пожалуйста, никаких пламенных войн ...)
Может ли кто-нибудь объяснить (тонкие) различия между «повсеместной многопоточностью» (как в BeOS / Haiku) и многопоточностью, используемой в Windows или Linux?
Каковы последствия для разработчика различных многопоточных систем?
Я нашел интересный сайт о многопоточности BeOS ... Многопоточность BeOS





Скопировано из ответа, который я дал на теперь закрытый вопрос «Что / было такого потрясающего в BeOS [закрыто]», но здесь он вполне применим:
Судя по памяти, странность разработки BeOS заключается в том, что графический интерфейс действительно многопоточный, в отличие от фреймворков графического интерфейса на других платформах, которые, как правило, являются абсолютно однопоточными.
Это означало, что разработка приложений с графическим интерфейсом для BeOS была совершенно другой, но я предполагаю, что это означало, что графический интерфейс был более отзывчивым, не требуя явного проектирования на уровне приложения для обработки взаимодействий с графическим интерфейсом.
Конечно, это означает, что использование мьютексов и т. П. Более важно, а перенос приложений с графическим интерфейсом пользователя из других ОС в BeOS затруднен, если только библиотека графического интерфейса пользователя BeOS не будет эффективно преобразована в однопоточную библиотеку путем использования и обеспечения единого приложения для всего приложения мьютекс.
Linux, Windows и почти все другие ОС, которые я могу вспомнить, которые я использовал в последнее десятилетие, поддерживают многопоточность, Linux и Windows, которые используют многопоточность существенно по-разному, но делают это очень хорошо - однако BeOS действительно повсеместно использует многопоточность - и это становится очевидным, например, с помощью структуры графического интерфейса пользователя, тогда как большинство других являются строго однопоточными. (Или, в крайнем случае, несколько потоков разрешать из доступа с неопределенными последствиями ...)