2012-01-18 51 views
0

我對過程和線程有一些懷疑,並在下面給出線程不與進程共享什麼東西?

1.線程與進程不共享的東西是什麼?

2.爲什麼每個線程都有單獨的堆棧?

3.來自不同進程的兩個線程如何通信?

+0

自己做功課或正確標記您的問題 – fjardon 2012-01-18 12:23:27

+0

現在可以嗎? – 2012-01-18 12:26:04

回答

1

1)這是一個定義。你不需要這個幫助,你需要一本「書」。

2)我很樂意幫助這個。這不是一個簡單的定義問題,所以我們首先回答一個問題的問題......在單進程單線程系統中,堆棧的目的是什麼?一旦你可以回答這個問題,你是回答這個問題的一英寸。

3)什麼系統?

+0

堆棧通常用於存儲局部變量和函數參數,對嗎? – 2012-01-18 12:45:07

+0

你是對的,但那是另外一些重要的事情。當我在一個函數中並且我調用另一個函數時,在單個進程,單線程系統上會發生什麼?關於舊函數的執行上下文有沒有什麼特別的事情發生? – 2012-01-18 12:48:01

+0

是的,發生上下文切換,我的意思是當前進程的上下文存儲在堆棧上,某些其他進程的上下文從堆棧上猛增 – 2012-01-18 13:01:41

0

http://en.wikipedia.org/wiki/Thread_(computing

維基百科是下來的那一刻,butafter,你可以檢查一下:)

你的第二個問題其實回答你的第一個。線程以不同的速率工作。想象一下,一個程序是所有跟隨彼此的命令行,等待彼此完成。現在添加第二行,以便在同一時間完成2位處理(並且很可能有不同的速度)。這是一個線索。

實質上,一個線程是一個不同的進程,由一個共同的應用程序產生。根據您使用的系統和您要完成的任務,可用性差異很大。

這些是你最好使用谷歌,Stackoverflow的東西的類型。