2010-09-09 37 views

回答

4

一個通常使用POSIX threads或其他API封裝的其他技術。分叉開始新的過程,線程化將現有的過程分解成幾部分。線程處理導致共享的全局狀態,根據具體情況可能有用也可能沒有用處。

3
  1. pthread_create()

  2. 分岔創建兩個過程,每一個都具有單獨的控制線程。創建一個線程在單個進程中創建一個額外的控制線程。

  3. 否 - 通常很難獲得線程化應用程序,而不是正確獲取單獨的進程。而且幅度很大。

2

的分岔創建當前進程的副本,而線程同一進程中運行,並且通常用來計算的背景是什麼,因此應用程序似乎並沒有被凍結。

至於線程與分叉的用處,我會去用線程,除非你有第二個進程的特定需求。至於如何創建一個線程,我會建議使用pthreads庫。它可以在任何UNIX操作系統(Linux,BSD,Mac OS X)上運行,但是相對較低。如果你想要更高層次的東西,請查看QT的QThread。

+0

我會做相反的記憶......我叉,除非我有在同一進程的另一個線程特定的需要。唉,大多數情況下,我需要使用線程,因爲「posix」操作系統無法高效分離,但即使如此,我傾向於首先傾向於非阻塞設計,即使在多個核心的地方。 – Arafangion 2010-11-26 10:38:43

0

1.分配給所有資源和內存的Fork內核。

2.In過程的螺紋拼合和共享進程