【问题标题】:OS Multi threading differences操作系统多线程差异
【发布时间】:2010-10-02 10:39:17
【问题描述】:

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

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

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

有人能解释一下“普遍多线程”(如在 BeOS/Haiku 中)与 Windows 或 Linux 中使用的多线程之间的(细微)区别吗?

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


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

【问题讨论】:

    标签: multithreading operating-system haiku


    【解决方案1】:

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

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

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

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

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

    【讨论】: