高并发编程

JUC:Java.util.Concurrent

线程:

单个进程中执行中每个任务就是一个线程。线程是进程中执行运算的最小单位。


锁的分类:

1.显式锁/隐式锁 ReentrantLock / Synchronized

2.独占锁/共享锁  写锁 / 读锁

3.单机锁/分布式锁 lock(synchronized) / redis


创建线程:

1.new Thread

2.Runable

3.Callable 返回值

4.Executors


线程状态:

1.新建  new

2.就绪 start

3.运行 run

4.阻塞 wait

5.停止 sleep

6.停止 stop


高并发编程_第1张图片

线程通讯:

可以认为是线程同步的扩展,因为wait/notify必须获取了对象锁才能使用,通过wait/notify这种方式实现两个线程的等待唤醒。

1.wait / notily

2.Condition

3.volatile

4.CountDownLatch

5.LockSupport


线程互斥:

对临界区的共享数据,两个线程都有修改情况,如果没有加锁或cas等的操作会造成数据混乱异常,这种就是线程互斥。

你可能感兴趣的:(高并发编程)