当前位置: 首页 > 面试题库 >

Java线程到Linux线程(LWP)的一对一映射

戎元忠
2023-03-14
问题内容

Java
Thread对象和OS线程(轻量级进程)之间是否存在一对一的映射。也就是说,如果我有一个Thread对象,是否可以始终精确地标识一个关联的OS线程,并且我将始终具有相同的关联OS线程吗?通常,这取决于OS和JVM,因此我将问题限于使用Oracle和Open
JDK JVM的Linux。

怎么样的情况下,sleep荷兰国际集团和wait荷兰国际集团线程?还有尚未开始运行的线程和已经结束运行的线程的极端情况?


问题答案:

Java线程对象和OS线程之间是否存在一对一的映射(

是的,自Java 1.2起就存在。

在Java 1.2之前,使用了“绿色线程”模型,该模型将多个Java线程映射到一个OS线程。



 类似资料:
  • 本文向大家介绍Linux多线程编程(一),包括了Linux多线程编程(一)的使用技巧和注意事项,需要的朋友参考一下 一、什么是线程?       线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。 二、什

  • 问题内容: 我有一个Java应用程序,其中创建了一些线程(通过)。通过使用,我可以看到它们具有不同的线程ID(LWP列),我想从Java应用程序中获取这些ID。 在我发现的与此主题相关的大多数文章中,解决方案是使用。 但是,使用该方法可以为我提供主线程的PID(即使我从其中一个线程调用它),因此它并不能真正解决我的问题。 有什么方法可以获取应用程序创建的每个线程的线程ID ? 是否可以使用JNI完

  • 问题内容: 我需要一个线程安全映射,我有类似这样的内容:(我对Java很陌生) 问题答案:

  • 本文向大家介绍Java多线程——之一创建线程的四种方法,包括了Java多线程——之一创建线程的四种方法的使用技巧和注意事项,需要的朋友参考一下 1.实现Runnable接口,重载run(),无返回值 2.继承Thread类,复写run() 使用时通过调用Thread的start()(该方法是native),再调用创建线程的run(),不同线程的run方法里面的代码交替执行。 不足:由于java为单

  • 以下是问题陈述: 编写一个java程序,使用线程计算前25个素数,并计算前50个斐波那契数。将计算斐波那契数的线程的优先级设置为8,将另一个设置为5。在计算了30个斐波那契数之后,让这个线程进入睡眠状态,开始计算素数。计算完25个素数后,继续斐波那契数计算。 我的代码: 我本以为当斐波那契线停止时,其余的素数会被打印出来,但那没有发生,这背后的原因可能是什么?