【发布时间】:2016-10-16 14:30:29
【问题描述】:
在我的 Java 分布式编程课程中,我的老师问了这个问题。他认为,即使这是一个常用的定义,也不完全正确。
什么东西可以让线程被认为是重量级进程?
【问题讨论】:
-
你请老师提供适当的参考资料......
标签: java parallel-processing operating-system distributed-programming
在我的 Java 分布式编程课程中,我的老师问了这个问题。他认为,即使这是一个常用的定义,也不完全正确。
什么东西可以让线程被认为是重量级进程?
【问题讨论】:
标签: java parallel-processing operating-system distributed-programming
线程和进程之间有一个明确的区别 - 两个或多个线程共享分配给进程的内存空间,而分配给 2 个进程的内存空间是分开的。
哪些因素可以使线程被视为 重量级进程?
同样,线程与进程不同,所以这个问题在技术上仍然是不正确的。
【讨论】:
重/轻是关于他们占用了多少资源以及切换任务的成本是多少。在 Linux 上,线程也被视为具有自己的进程 ID 的进程,但是它使用的资源不如您添加每个线程的资源多,因为它与现有线程共享内存。
线程的更轻量级版本是使用延续。这对于短调用堆栈来说可能是最便宜的,因为它是一个完全用户空间的实现。
线程比进程更轻量级。但是……
【讨论】: