Skip to content

说一下线程的生命周期 #75

@tbfungeek

Description

@tbfungeek

线程生命周期有如下几种:

  • NEW - [新建状态] 表示线程被新建的状态
  • RUNNABLE - [可运行状态] 新建的线程并不一定会马上被CPU调度,而是进入一个中间状态RUNNABLE状态,等待被CPU调度,处于阻塞状态的线程恢复后不会立刻切换到RUNNING状态,而是先切换到RUNNABLE状态。
  • RUNNING - [正在运行状态] 当CPU调度发生,并任务队列中选中了某个RUNNABLE线程时,该线程会进入RUNNING 执行状态。
  • BLOCKED - [阻塞状态] 由于调用了睡眠,IO阻塞,等待锁的时候会处于阻塞状态。
  • TERMINATED - [终结状态] 终结状态是线程的最终状态,处于此状态中的线程不会切换到以上任何状态,一旦线程进入了终结状态,就意味着这个线程生命的终结。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions