什么是线程?

阅读:287

目录介绍

  • 01.什么是线程
  • 02.多线程意义
  • 03.并行和并发
  • 04.JVM启动线程

01.什么是线程

  • 在一个进程内部又可以执行多个任务,而这每一个任务我们就可以看成是一个线程。
  • 线程是程序使用CPU的基本单位。注意:线程是依赖于进程存在的。

02.多线程意义

  • 多线程的作用不是提高执行速度,而是为了提高应用程序的使用率。
  • 那么怎么理解这个问题呢?我们程序在运行的使用,都是在抢CPU的时间片(执行权),如果是多线程的程序,那么在抢到CPU的执行权的概率应该比较单线程程序抢到的概率要大.那么也就是说,CPU在多线程程序中执行的时间要比单线程多,所以就提高了程序的使用率.但是即使是多线程程序,那么他们中的哪个线程能抢占到CPU的资源呢,这个是不确定的,所以多线程具有随机性.

03.并行和并发

  • 前者是逻辑上同时发生,指在某一个时间内同时运行多个程序。
  • 后者是物理上同时发生,指在某一个时间点同时运行多个程序。

04.JVM启动线程

4.1 Java程序运行原理

  • Java命令会启动java虚拟机,启动JVM,等于启动了一个应用程序,也就是启动了一个进程。
  • 该进程会自动启动一个 “主线程” ,然后主线程去调用某个类的 main 方法。所以 main方法运行在主线程中。

4.2 JVM的启动是多线程的吗

  • JVM启动至少启动了垃圾回收线程和主线程,所以是多线程的。

赞赏支持


精彩留言

发表评论