2012-01-18 55 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的东西的类型。