java - 单个线程可以在多个进程之间共享吗?如果是的话怎么办?

标签 java multithreading operating-system

每个进程可以有多个线程,但是是否允许在多个进程之间共享单个线程?我很困惑,我将此与紧密耦合的多处理器联系起来,其中内存在多个处理器之间共享.

在紧密耦合的多处理器中:内存是共享的 在松散耦合的多处理器中:分布式内存

如果我的思考方向错误,请纠正我。

最佳答案

是的,你是对的,你一不小心就想错了。

现在,首先回答您的困惑,无论是紧密耦合还是松散耦合的多核或单核处理器等,在Java中,线程在其生命周期中将属于同一个进程

  • 该线程所属的进程可能会被处理器暂停,以便为其他进程提供时间,这意味着该线程也处于非 Activity 状态。
  • 该线程可能会被进程停顿,以赋予高于其他线程的优先级。这正是您所说的线程优先级。

您可以使用 Java 的 fork/join framework 来利用多核处理器。通过使用所有可用的处理器来执行线程。但在这种情况下,无论线程是由一个处理器还是其他处理器执行,线程都会紧紧地粘在它启动它的进程中。

关于java - 单个线程可以在多个进程之间共享吗?如果是的话怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30739874/

相关文章:

c++ - 调试多线程应用程序时的步骤行

Java:获得一次锁更好还是多次获得锁更好?

linux - 看书学习Linux内核

java - 调用方法时出现空指针异常

java - 单击按钮时显示 ListView 项目

java - java - 如何在不考虑空格的情况下比较java中的两个字符串?

java - Jackson XML - 是否有可用于反序列化包含数组的对象的 Java 内置类型?

c# - 如何知道谁拥有 ReaderWriterLockSlim?

c - 一个包含很多功能的程序如何存储在一个文本段中?

python - 如何判断是否安装了rosetta?