Thread的理解

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

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

这里补上线程状态图

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容