Java 线程状态
线程状态:new 新生 start 准备就绪 运行状态 阻塞状态(sleep, wait,同步锁) 死亡状态
线程停止:1.标志位停止;2.自动停止,利用次数
线程休眠:模拟延时。每个对象都有一把锁,sleep不会释放锁。Thread.sleep();
线程礼让:Thread.yield()
线程合并:Thread.join() 插队
观测线程状态:Thread.state() new runable waiting dead
线程优先级:priority 1-10 执行顺序并不一定按优先级跑
守护线程:Thread.setDaemon(true);用户线程终止,守护线程也会终止。
线程同步:并发:同一对象被多个线程同时操作。线程同步是一种排队等待机制,对象等待池形成队列。
队列 和 锁 保证同步
synchronized 同步锁 this 同步块 synchronized(obj){ } obj 增删改查的对象
每个线程都有自己的工作内存。
JUC 线程安全类型:CopyonWriteArrayList
死锁:同步锁
Lock锁:显示锁 是JUC包里的 Reentrantlock lock= new Reentrantlock(); lock.lock .....lock.unlock;
线程之间的通信:通过全局变量:管程法 和 标志位
FutrueTask ExecutorServices Executors CopyonWriteArrayList wait() notifyall()