Thread的理解

2017-03-29  本文已影响0人  风吹过山

线程状态:在给定时间点上,一个线程只能处于一种状态。

public enum State {

NEW,//创建状态

RUNNABLE,//可运行状态

BLOCKED,//受阻塞并且正在等待监视器锁的某一线程的线程状态,是在多个线程有同步操作的场景

WAITING,//等待状态

TIMED_WAITING,//定时的,等待不到来,也将定时唤醒自己。

TERMINATED //终止状态

}

备注:区分 BLOCKED 和 WATING 的区别, 一个是在临界点外面等待进入, 一个是在临界点里面wait等待别人notify, 线程调用了join方法 join了另外的线程的时候, 也会进入WAITING状态, 等待被他join的线程执行结束

线程常用函数

start();

stop();调用thread.stop()会导致线程所持有的所有锁的突然释放(不可控制),被保护数据有可能不一致。

join(); 让一个线程等待另一个线程完成的方法

notify / notifyAll

isAlive()

isInterrupted()

interrupt()

线程优先级:1-10

这里补上线程状态图

问题:线程同步,守护线程,线程池状态图?

上一篇下一篇

猜你喜欢

热点阅读