关闭

java线程

别叨叨 1年前 ⋅ 199 阅读

java线程指程序执行过程中的一个线程实体。JVM允许一个应用并发执行多个线程。Hotspot JVM中的Java线程与原生操作系统线程有直接的映射关系。当线程本地存储、缓冲区分配、同步对象、栈、程序计数器等准备好以后,就会创建一个操作系统原生线程。

Java线程结束,原生线程随之被回收。操作系统负责调度所有线程,并把他们分配到任何可用的CPU上。当原生线程初始化完结城,就会调用Java线程的run()方法。当线程结束时,会释放原生线程和Java线程的所有资源。

HotspotJVM后台运行的系统线程主要有以下几个:

  1. 虚拟机线程(VM thread):这个线程等待JVM到达安全点操作出现。这些操作必须要在独立的线程里执行,因为当堆修改无法进行时,线程都需要JVM位于安全点。这些操作的类型有:stop-the-world垃圾回收、线程栈dump、线程暂停、线程偏向锁解除。
  2. 周期性任务线程:线程负责定时器事件(也就是中断),用来调度周期性操作的执行。
  3. GC线程:这些线程支持JVM中不同的垃圾回收活动。
  4. 编译器线程:这些线程在运行时将字节码动态编译成本地平台相关的机器码。
  5. 信号分发线程:这个线程接收发送到JVM的信号并调用适当的JVM方法处理。

全部评论: 0

    我有话说: