2009-01-20 96 views
6

我在問這個問題,因爲我正在研究Haiku操作系統(BeOS後裔)。OS多線程差異

BeOS操作系統的目標是創建一個處理多媒體並且響應速度非常快的桌面環境。他們通過創建一個具有「普適多線程」的內核來管理這個問題。其他操作系統(Linux,Windows等)沒有這種「普遍的多線程」,因此,不是那種響應。 (請不要火焰大戰......)

有人可以解釋「普適多線程」(如BeOS/Haiku中)和Windows或Linux中使用的多線程之間的(細微)差異嗎?

開發人員對不同的多線程系統有什麼影響?


我發現了大約BeOS的多線程一個有趣的網站... BeOS Multi threading

回答

4

從一個答案,我對現在封閉的問題「什麼是/是如此了不起約BeOS的[關閉]」做複製,但在這裏適用的很好:

從內存來看,BeOS開發的奇怪之處在於,GUI實際上是多線程的,不像其他平臺上的GUI框架,它往往是絕對單線程的。

這意味着爲BeOS開發GUI應用程序是完全不同的,但我認爲這意味着GUI更具響應性,而不需要應用程序級的顯式設計來處理GUI交互。

當然,這意味着使用互斥鎖等更重要,並且將GUI應用程序從其他操作系統移植到BeOS是非常困難的,除非BeOS GUI庫通過使用和強制執行而有效地變成單線程庫單一應用程序範圍的互斥體。

Linux,Windows以及幾乎所有其他操作系統,我可以認爲我在過去十年中使用的支持多線程,Linux和windows,它們都以多種多樣的方式使用多線程,但這樣做非常好 - 但是,BeOS真的普遍使用多線程 - 而這通過例如GUI框架顯而易見,而其他大多數則嚴格是單線程的。 (或者,在最極端的情況下,許可多線程來自訪問,具有未定義的後果...)