概况
6大块内容:
1.基本概念
2.JUC同步工具
3.同步容器
4.线程池
5.高频面试加分项
6.Disruptor
1.基本的概念
进程、线程
#### 1.创建线程的方式
1.new Thread().start()
2.new Thread(Runnable).start()
3.Executors.newCachedThreadPool()或者FutureTask + Callable
#### 2.线程的3个方法
1.**sleep**
意思就是睡眠,当前线程暂停一段时间让给别的线程去运行 。
sleep是怎么复活的?
由你的睡眠时间而定,等睡眠到规定的时间自动复活。
2.**yield**
就是当前线程正在执行的时候停止下来进入等待队列,回到等待队列里在系统的调度算法里头还是依然有可能把你刚回去的这个线程
拿回来继续执行,当然,更大的可能性是把原来等待的那些拿出来一个执行,所以yield的意思是我让出一下cpu,后面你们能不能抢到
那我不管。
3.**join**
意思就是在自己当前线程加入你调用join的线程,本线程等待。等调用线程运行完了,自己再去执行。t1和t2两个线程,在t1的某个
点上调用了t2.join,它会跑到t2去运行,t1等待t2运行完毕继续t1运行(自己join自己没有意义)