disruptor 是一个MQ
什么是进程 线程 纤程
new T1().run();
new T1().start(); 交替出现:两个线程
创建线程三个方式:
1、class MyThread extends Thread{@Override run(){}}
new MyThread().start();
2、class MyRun implements runnable{@Override run(){}}
new Thread(MyRun()).start();
3、new Thread(()->{System.Out.println("");}).start();
//启动线程的三种方式 1:Thread 2:Runnable 3:Executors.newCachedThread
==
方法: Thread.sleep()让给别的线程去运行一会儿 时间到了自动复活 进入就绪模式
Thread.yield()进入到一个等待队列里面。让出一下CPU 进入就绪模式
t2.join() t1运行中 t2.join() t1 ->t2 -> t1
==
JVM管理 ThreadState: NEW Teminated
runnable:Ready--线程被调度器选中执行-->Running---Thread.yield()/线程被挂起-->Ready
Thread.sleep(time) 、o.wait(time)、 t.join(time)、LockSupport.parkNanos()、LockSupport.parkUntil() TimedWaiting:时间结束
o.wairt() t.join() LockSupport.park() Waiting: o.notify() o.notifyAll() LockSupport.unpark()
等待进入同步代码块的锁 Blocked: 获得锁
interruptor:==抛出异常 catch 该怎么处理怎么处理 打断等待睡眠
t.getState()获得状态