在我的 Java 分布式编程课程中,我的老师问了这个问题。他认为,即使这是一个常用的定义,它也不完全正确。
什么东西可以使线程被视为重量级进程?
user6373874
问问题
106 次
2 回答
0
线程和进程之间有一个明确的区别——两个或多个线程共享分配给进程的内存空间,而分配给 2 个进程的内存空间是分开的。
什么东西可以使线程被视为重量级进程?
同样,线程与进程不同,所以这个问题在技术上仍然是不正确的。
于 2016-10-16T14:52:21.503 回答
-3
重/轻是关于他们占用多少资源以及切换任务的成本是多少。在 Linux 上,线程也被视为具有自己的进程 ID 的进程,但是它使用的资源不如您添加每个线程的资源多,因为它与现有线程共享内存。
线程的更轻量级版本是使用延续。这对于短调用堆栈来说可能是最便宜的,因为它是一个完全用户空间的实现。
线程比进程更轻量级。但...
- 还有更轻量级的共享工作,在某些情况下线程很昂贵。
- 它不是一个真正的进程(Linux 在某些方面假装一个线程是一个进程)
于 2016-10-16T14:41:49.073 回答