Appearance
基础概念
什么是JUC
- JUC(Java Util Concurrent)是java.util.concurrent的简称,是Java并发包的一部分,提供了一些并发编程的工具类,用于简化多线程编程。
- JUC包含了一些并发编程的工具类,如线程池、阻塞队列、原子类、锁、并发集合等。
并发和并行
- 并发和并行是两个概念,它们都是指多个任务同时执行的情况,但是有所不同。
- 并发是指多个任务交替执行,多个任务之间可能会共享资源,但是在同一时刻只有一个任务在执行。
- 并行是指多个任务同时执行,多个任务之间不会共享资源,可以同时执行。
- 并发和并行的区别在于任务执行的方式,如果多个任务交替执行,那么就是并发;如果多个任务同时执行,那么就是并行。
管程
- 管程是一种并发编程模型,用于解决多线程之间的通信和同步问题。
- 管程是一种高级的同步机制,保证了多个线程之间的数据一致性和互斥访问.
- 管程是一种抽象的概念,它包含了多个线程之间共享的数据结构和同步机制。
- 管程的实现方式有多种,如锁、条件变量、信号量等。
多线程编程步骤
- 创建资源类,在资源类创建属性和操作方法
- 在资源类操作方法
- 判断
- 干活
- 通知
- 创建多个线程,调用资源类的操作方法
- 防止虚假唤醒问题