進程和線程有什么區別?進程和線程之間的技術區別是什么?我覺得‘Process’這個詞被過度使用了,還有一些硬件和軟件線程。用像這樣的語言處理輕量級的過程怎么樣?二郎?是否有明確的理由使用一個詞而不是另一個術語?
3 回答

哈士奇WWW
TA貢獻1799條經驗 獲得超6個贊
加工過程
螺紋
關于進程和線程
Microsoft Windows支持先發制人的多任務處理,這會產生同時從多個進程執行多個線程的效果。在多處理器計算機上,系統可以同時執行計算機上有處理器的線程。

森林海
TA貢獻2011條經驗 獲得超2個贊
程序:
程序的執行實例稱為進程。 有些操作系統使用“任務”一詞來指正在執行的程序。 進程總是存儲在主存中,也稱為主存儲器或隨機存取存儲器。 因此,一個過程被稱為一個活躍的實體。如果重新啟動機器,它就會消失。 多個進程可以與同一個程序相關聯。 在多處理器系統中,可以并行執行多個進程。 在單處理器系統上,雖然沒有實現真正的并行性,但應用了進程調度算法,并調度處理器一次執行每個進程,產生并發的錯覺。 例子:
執行“計算器”程序的多個實例。每個實例都被稱為一個過程。
線:
線程是進程的子集。 它被稱為“輕量級進程”,因為它類似于一個真正的進程,但是在進程的上下文中執行,并且共享內核分配給進程的相同資源。 通常,一個進程只有一個控制線程-一次執行一組機器指令。 進程也可以由并發執行指令的多個執行線程組成。 多個控制線程可以利用多處理器系統上的真正并行性。 在單處理器系統中,應用線程調度算法,并調度處理器一次運行每個線程。 進程中運行的所有線程共享相同的地址空間、文件描述符、堆棧和其他與進程相關的屬性。 由于進程的線程共享相同的內存,同步對進程中共享數據的訪問具有前所未有的重要性。
添加回答
舉報
0/150
提交
取消