OS多线程差异

时间:2009-01-20 12:23:32

标签: multithreading operating-system haiku

我问这个问题是因为我正在调查Haiku OS(一个BeOS后裔)。

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

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

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

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


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

1 个答案:

答案 0 :(得分:4)

从我为现在已经结束的问题做出的回答中复制了“BeOS [关闭]是什么/太棒了”,但在这里很适用:

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

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

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

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

相关问题