8

我问这个问题是因为我正在研究 Haiku OS(BeOS 的后代)。

BeOS 操作系统的目标是创建一个能够很好地处理多媒体并且响应速度非常快的桌面环境。他们通过创建具有“普遍多线程”的内核来管理这一点。

其他操作系统(Linux、Windows 等)没有这种“普遍多线程”,因此响应速度不快。(请不要进行火焰战争......)

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

开发人员对不同的多线程系统有何影响?


我发现了一个关于 BeOS 多线程的有趣网站... BeOS 多线程

4

1 回答 1

5

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

从记忆中看,BeOS 开发的奇怪之处在于 GUI 确实是多线程的,这与其他平台上的 GUI 框架不同,后者往往是绝对单线程的。

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

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

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

于 2009-02-16T23:01:59.970 回答