每个进程可以有多个线程,但是是否允许在多个进程之间共享单个线程?我很困惑,我将此与紧密耦合的多处理器联系起来,其中内存在多个处理器之间共享.
在紧密耦合的多处理器中:内存是共享的 在松散耦合的多处理器中:分布式内存
如果我的思考方向错误,请纠正我。
最佳答案
是的,你是对的,你一不小心就想错了。
现在,首先回答您的困惑,无论是紧密耦合还是松散耦合的多核或单核处理器等,在Java中,线程在其生命周期中将属于同一个进程。
- 该线程所属的进程可能会被处理器暂停,以便为其他进程提供时间,这意味着该线程也处于非 Activity 状态。
- 该线程可能会被进程停顿,以赋予高于其他线程的优先级。这正是您所说的线程优先级。
您可以使用 Java 的 fork/join framework 来利用多核处理器。通过使用所有可用的处理器来执行线程。但在这种情况下,无论线程是由一个处理器还是其他处理器执行,线程都会紧紧地粘在它启动它的进程中。
关于java - 单个线程可以在多个进程之间共享吗?如果是的话怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30739874/