Java 一个线程可以在多个进程之间共享吗?如果是,怎么做?

Java 一个线程可以在多个进程之间共享吗?如果是,怎么做?,java,multithreading,operating-system,Java,Multithreading,Operating System,每个进程都可以有多个线程,但是允许在多个进程之间共享单个线程吗?我感到困惑的是,我将此与多处理器之间共享内存的紧耦合多处理器联系起来 在紧密耦合的多处理器中:内存是共享的 在松耦合多处理器中:分布式内存 如果我想的方向错了,请纠正我。是的,你是对的,你不小心想的方向错了 现在,首先回答您的困惑,无论是紧密耦合还是松散耦合的多核处理器或单核处理器等等,在Java中,线程在其生命周期内属于同一进程 线程所属的进程可能会被处理器暂停,以便给其他进程留出时间,这意味着线程也不处于活动状态 进程可能会暂

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

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


如果我想的方向错了,请纠正我。

是的,你是对的,你不小心想的方向错了

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

  • 线程所属的进程可能会被处理器暂停,以便给其他进程留出时间,这意味着线程也不处于活动状态
  • 进程可能会暂停该线程,以使其优先于其他线程。这就是所谓的线程优先级

通过使用所有可用的处理器执行线程,您可以利用使用Java的多核处理器。但在这种情况下,无论一个线程是由一个处理器执行还是由另一个处理器执行,线程都会紧紧地依附于它开始生命的进程。

您的想法是错误的。线程属于一个进程,在我所知道的任何现代操作系统或编程语言中都不是。没有什么可以阻止它。线程是由进程生成并拥有的。它不能被共享。有很多安全方面的考虑使得这样做有点像噩梦。最好将线程状态保存在可以被另一个进程访问的地方。你是说“处理器”,而不是“进程”?@RobertMcKee想象一个岛存在于多个湖中。没有什么可以阻止它。。。