JAVA高并发--多线程基础

快速认识线程:

线程定义:

操作系统中对线程的定义是:线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。每个线程都有自己的局部变量表、程序计数器、以及生命周期。

线程生命周期:

通过上图我们可以知道线程的生命周期主要为五个阶段:

NEW:

NEW只是创建了一个线程对象,并不处于执行状态,因为没有调用start启动线程。New状态通过start方法进去RUNNABLE状态

RUNNABLE:

线程对象调用start方法后进去RUNNABLE状态,此时jvm真正创建了一个线程。意味着线程具有个执行资格,但需要等待cpu调度。

RUNNING:

一旦cpu通过轮询或则其他方式从执行队列中调度了线程,线程开始执行自己的逻辑代码。running状态可能发生一下状态转换:

  进入TERMINATED状态,比如调用了jdk不推荐的stop方法或者某个逻辑标识

  进入BLOCKED状态,比如调用sleep,或者wait方法而加入waitset

猜你喜欢

转载自blog.csdn.net/wjandy0211/article/details/108081065