Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果创建Java线程的线程在运行时退出,那么另一个线程会采用Java线程吗?_Java_Multithreading - Fatal编程技术网

如果创建Java线程的线程在运行时退出,那么另一个线程会采用Java线程吗?

如果创建Java线程的线程在运行时退出,那么另一个线程会采用Java线程吗?,java,multithreading,Java,Multithreading,在Linux中,如果一个进程分叉一个子进程,然后在子进程继续运行时退出,那么子进程将被init进程采用 我想知道java线程是否也会发生类似的情况 Java线程之间是否存在父子关系 当一个Java线程创建另一个线程并且不调用join()等待另一个线程完成运行,并且在另一个线程运行时存在时,另一个线程会被其他Java线程采用吗 谢谢 Java线程之间是否存在父子关系 没有,因此也没有收养 Java线程之间是否存在父子关系 不,没有这种关系 虽然前面章节中的大部分讨论只涉及一次执行一条语句或表达式时

在Linux中,如果一个进程分叉一个子进程,然后在子进程继续运行时退出,那么子进程将被
init
进程采用

我想知道java线程是否也会发生类似的情况

Java线程之间是否存在父子关系

当一个Java线程创建另一个线程并且不调用
join()
等待另一个线程完成运行,并且在另一个线程运行时存在时,另一个线程会被其他Java线程采用吗

谢谢

Java线程之间是否存在父子关系

没有,因此也没有收养

Java线程之间是否存在父子关系

不,没有这种关系

虽然前面章节中的大部分讨论只涉及一次执行一条语句或表达式时的代码行为,也就是说,由一个线程执行,但Java虚拟机可以同时支持多个执行线程这些线程独立执行对驻留在共享主内存中的值和对象进行操作的代码。线程可以通过具有多个硬件处理器、对单个硬件处理器进行时间切片或对多个硬件处理器进行时间切片来支持

线程由
线程
类表示。用户创建线程的唯一方法是创建此类的对象;每个线程都与这样一个对象相关联。当对相应的
thread
对象调用
start()
方法时,线程将启动

-

此外,请参阅的文件:此处未提及此类关系


当一个Java线程创建另一个线程并且不调用
join()
等待另一个线程完成运行,并且在另一个线程运行时存在时,另一个线程会被其他Java线程采用吗

否,创建的(第二个)线程将不会被任何其他线程采用。但是,请注意:

Java虚拟机继续执行线程,直到出现以下任一情况:

  • 运行时
    退出
    方法已被调用,并且安全管理器已允许执行退出操作
  • 通过调用
    run
    方法返回或抛出传播到
    run
    方法之外的异常,所有非守护进程线程都已死亡
-

Java中没有“所有权”/“父母身份”的概念。您要么拥有对线程的引用(因此可以对其调用
join
/
interrupt
等),要么没有。