单个线程可以在多个进程之间共享吗?如果是如何?
Can a single thread be shared among multiple processes ? If yes how?
每个进程可以有多个线程,但是 是否允许多个进程共享单个线程?我很困惑,我将其与内存紧密耦合的多处理器相关联在多个处理器之间共享。
在紧密耦合的多处理器中:内存是共享的
在松散耦合的多处理器中:分布式内存
如果我的思路不对请指正。
是的,你是对的,不小心你想错了方向。
现在,开始回答你的困惑,无论是紧耦合还是松耦合多核或单核处理器等等,在Java中一个线程将属于在其生命周期内使用相同的进程。
- 处理器可能会暂停线程所属的进程,以便为其他进程腾出时间,这意味着该线程也不处于活动状态。
- 该线程可能会被进程停放以优先于其他线程。这正是您所说的线程优先级。
您可以利用 Java 的 fork/join framework 的多核处理器,方法是使用所有可用的处理器执行线程。但在这种情况下,无论线程是由一个处理器还是其他处理器执行,线程都会紧紧地粘在它开始它的过程中。
每个进程可以有多个线程,但是 是否允许多个进程共享单个线程?我很困惑,我将其与内存紧密耦合的多处理器相关联在多个处理器之间共享。
在紧密耦合的多处理器中:内存是共享的 在松散耦合的多处理器中:分布式内存
如果我的思路不对请指正。
是的,你是对的,不小心你想错了方向。
现在,开始回答你的困惑,无论是紧耦合还是松耦合多核或单核处理器等等,在Java中一个线程将属于在其生命周期内使用相同的进程。
- 处理器可能会暂停线程所属的进程,以便为其他进程腾出时间,这意味着该线程也不处于活动状态。
- 该线程可能会被进程停放以优先于其他线程。这正是您所说的线程优先级。
您可以利用 Java 的 fork/join framework 的多核处理器,方法是使用所有可用的处理器执行线程。但在这种情况下,无论线程是由一个处理器还是其他处理器执行,线程都会紧紧地粘在它开始它的过程中。