OS多线程差异

Joe*_*oep 6 multithreading operating-system haiku

我问这个问题,因为我正在调查Haiku OS(一个BeOS后代).

BeOS操作系统的目标是创建一个能够很好地处理多媒体并且响应迅速的桌面环境.他们通过创建具有"普适多线程"的内核来管理这一点.

其他操作系统(Linux,Windows等)没有这种"普遍的多线程",因此不具备响应性.(没有火焰战争......)

有人可以解释"普遍的多线程"(如BeOS/Haiku)和Windows或Linux中使用的多线程之间的(细微)差异吗?

对于不同的多线程系统,开发人员有什么影响?


我发现了一个关于BeOS Multi-threading ... BeOS Multi threading的有趣网站

Ara*_*ion 5

复制自我为现在关闭的问题“BeOS [关闭] 有什么了不起/如此了不起”的回答,但在这里非常适用:

根据记忆,BeOS 开发的奇怪之处在于 GUI 确实是多线程的,不像其他平台上的 GUI 框架往往是绝对单线程的。

这意味着为 BeOS 开发 GUI 应用程序是完全不同的,但我认为这意味着 GUI 的响应更快,不需要在应用程序级别进行显式设计来处理 GUI 交互。

当然,这确实意味着使用互斥锁等更重要,并且很难将其他操作系统的 GUI 应用程序移植到 BeOS,除非 BeOS GUI 库通过在整个应用程序范围内使用和强制执行有效地转变为单线程库互斥体。

Linux、Windows 和几乎所有其他操作系统我可以想到我在过去十年中使用的支持多线程,Linux 和 Windows 都以截然不同的方式利用多线程但做得很好 - 然而,BeOS 确实普遍使用多线程 -这在例如 GUI 框架中很明显,而大多数其他框架都是严格单线程的。(或者,在最极端的情况下,允许多个线程访问并带来未定义的后果......)