首页 > 编程语言 >Java线程

Java线程

时间:2023-02-07 15:04:53浏览次数:47  
标签:原生 Java 操作系统 HotSpot 线程 JVM

Java线程是程序过程中的一个线程实体。JVM允许一个应用并发执行多个线程。

HotSpot JVM中的Java线程与原生操作系统线程有直接的映射关系。当线程本地存储、缓冲区分配、同步对象、栈、程序计数器等准备好以后,就会创建一个操作系统原生线程。Java线程结束,原生线程随之被回收。操作系统负责调度所有线程,并把它们分配到任何可用的CPU上。当原生线程初始化完毕,就会调用Java线程的run()方法。当线程结束时,会释放原生线程和Java线程的所有资源。

HotSpot JVM后台运行的系统线程主要有下面几个:

虚拟机线程(VM thread):这个线程等待JVM达到安全点操作出现。这些操作必须要在独立的线程里执行,因为当堆修改无法进行时,线程都需要JVM位于安全点。这些操作的类型有:stop-the-world垃圾回收、线程栈dump、线程暂停、线程偏向锁(biased locking)解除。

周期性任务线程:这线程负责定时器事件(也就是中断),用来调度周期性操作的执行。

GC线程:这些线程支持JVM中不同的垃圾回收活动。

编译器线程:这些线程在运行时将字节码动态编译成本地平台相关的机器码。

信号分发线程:这个线程接收发送到JVM的信号并调用适当的JVM方法处理。


标签:原生,Java,操作系统,HotSpot,线程,JVM
From: https://blog.51cto.com/u_11315052/6042126

相关文章

  • 63、商城业务---异步---线程池详解
    ......
  • DAY 253 Java transient关键字
    1.transient的作用及使用方法     我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必......
  • 视频直播系统源码,java中Map遍历的三种方式
    视频直播系统源码,java中Map遍历的三种方式一:在for循环中使用entries实现Map的遍历:/***最常见也是大多数情况下用的最多的,一般在键值对都需要使用 */Map<String,String......
  • javaScript DOM - innerText与innerHtml,操作元素的属性,节点的获取,创建,添加,删除,修改
    1.innerText与innerHTML//替换元素里面的内容成文字document.querySelector(".main").innerText="文字";//替换元素里面的内容成标签document.querySelector(".main")......
  • JavaScript - 目录
    javaScript-输入与输出语句,javaScript中的数据类型,字符类型与其它基本数据类型的互相转换,typeof检测数据的数据类型javaScript-数组的创建方式,数组的属性,数组的常用方......
  • Javascript trim()函数实现
    在JavaScript中我们需要用到trim的地方很多,但是JavaScript又没有独立的trim函数或者方法可以使用,所以我们需要自己写个trim函数来实现我们的目的。    方案一:以原型方......
  • 运算符(JAVA)
    运算符(JAVA)运算符算术运算符:+,-,*,/,%,++,--赋值运算符:=关系运算符:>,<,>=,<=,==,!=逻辑运算符:&&,||,!位运算符:&,|,^,~,>>,<<,>>>条件运算符:?:扩展赋值运算符:+=,-=,*=,/=publicclassDe......
  • golang 线程和系统线程的的区别
    和操作系统的线程调度不同的是,Go调度器并不是用一个硬件定时器而是被Go语言"建筑"本身进行调度的。例如当一个goroutine调用了time.Sleep或者被channel调用或者mutex操作阻......
  • javaScript DOM - document 获取元素的方式,document 事件的三要素,事件的绑定方式,常用
    获取元素:1.document获取元素的方式getElementById通过Id名获取返回对象getElementsByTagName通过标签名获取返回数组getElementsByClassName通过类名获取......
  • HelloWorld之Java调用C++(JNI)
    JNI(JavaNativeInterface),通过使用Java本地接口书写程序,可以确保代码在不同的平台上方便移植。JNI技术博客:https://blog.csdn.net/m0_37537867/article/details/12413......