1 进程和线程

(1)进程:正在执行中的程序。如360安全管家。其实是应用程序在内存中运行的空间。
(2)线程:进程中的一个执行单元,负责程序的运行。如电脑体检,电脑清理等等各种独立的功能,执行相对应的代码。一个进程中至少有一个线程。代码由进程来执行。
  多线程:可以实现多部分程序同时执行(并发)。

2 中央处理器CPU

        其功能主要是解释计算机指令以及处理计算机软件中的数据。电脑中所有操作都由CPU负责读取指令,对指令译码并执行指令的核心部件。
  当执行多个程序时,CPU会快速给各个程序分配资源。CPU最终处理的是线程,执行多个线程时,适当数量的线程会提高效率。但是如果要启动程序太多,就会大大降低CPU给每个程序的处理时间,就会出现“卡顿”现象。

3 主线程

        主线程:是执行主(main)方法的线程,JVM执行main方法,main方法会进入到栈内存,JVM会找操作系统开辟一条main方法通向CPU的执行路径,CPU就可以通过这个路径来执行main方法,而这个路径有一个名字,叫main(主)线程。
(2)单线程程序:java程序中只有一个线程,执行从main方法开始,从上到下依次执行。
(3)多线程程序:主线程和子线程同时存在。
主线程的重要性体现在两方面:
(1)它是产生其他子线程的线程;
(2)通常它必须最后完成执行,因为它执行各种关闭动作。

cpu线程和java程序创建的线程区别在哪_多线程


  在之前的代码中,jvm启动后,必须由一个执行路径(线程)从主方法开始执行,一直到主方法结束。当主线程在这个程序中执行的时候,如果遇到了循环而导致在指定位置停留时间过长,无法去执行下面的程序,所以我们就想要去实现一个主线程负责执行其中的一个循环由另一个线程负责其他代码的执行,实现多部分代码同时执行,这就是多线程可以解决的问题。