java之多线程与高并发学习

关于lamada表达式的学习:https://www.jianshu.com/p/bf2a4e1aac0e

单线程就是一个执行路径,多线程就是从多个路径并发执行。
多线程和高并发学的似乎就是sychronized 和volatile & CAS 和AQS。。

synchronized

synchronized,这个东西我们一般称之为”同步锁“,他在修饰代码块的时候需要传入一个引用对象作为“锁”的对象。

在修饰方法的时候,默认是当前对象作为锁的对象
在修饰类时,默认是当前类的Class对象作为所的对象
故存在着方法锁、对象锁、类锁 这样的概念。
详细查看:https://www.cnblogs.com/shoshana-kong/p/10551952.html
java之多线程与高并发学习_第1张图片

volatile

java之多线程与高并发学习_第2张图片

CAS

java之多线程与高并发学习_第3张图片

java之多线程与高并发学习_第4张图片

java之多线程与高并发学习_第5张图片
java之多线程与高并发学习_第6张图片
讲解了ReentrantLock、CountDownLatch(门栓)、CyclicBarrier(栅栏)、join方法, Phaser(可以理解为多个栅栏)、ReadWriteLock、ReentrantReadWriteLock(可以读写锁分离,共同读提高效率)、Semaphore(信号量)、Exchange、LockSupport。
java之多线程与高并发学习_第7张图片

你可能感兴趣的:(Java)