Java并发编程

Mr.LR2022年4月5日大约 2 分钟

Java并发编程

本文主要记录Java并发编程的相关笔记

并发编程入门(上)

J.U.C是什么?

java.util.concurrent在并发编程中使用的工具类

Lock接口

Lock锁实现提供了比使用synchronized可以获得的更广泛的锁操作。它们允许更灵活的结构,可能具有非常不同的属性,并且可能支持多个关联的条件对象。

创建线程的方式

集成Thread类、实现Runnable接口

线程间通信

当多个线程共同操作共享资源时,线程间通过某种方式互相告知自己的状态,以避免无效的资源争夺。

定制化线程间通信

当多个线程抢占同一个资源时,指定各个线程的执行顺序。

列举集合线程安全案例

List<String> list = Collections.synchronizedList(new ArrayList<>());
List<String> list = new CopyOnWriteArrayList<>();

线程8锁问题

列举了当synchronized在代码不同位置时的区别

Callable接口

与Runnable接口类似,也是一种实现多线程的方法,与Runnable相比,Callable有返回值。

并发编程入门(下)

JUC辅助类

  • CountDownLatch:
  • CyclicBarrier
  • Semaphore

ReentrantReadWriteLock读写锁

ReentrantReadWriteLock表示可重入读写锁,ReentrantReadWriteLock中包含了两种锁,读锁ReadLock和写锁WriteLock,可以通过这两种锁实现线程间的同步

阻塞队列

ThreadPool线程池

一个非常重要的多线程处理方式

上次编辑于: 2022/12/5 22:52:53
贡献者: liurui-60837,liurui