JUC并发编程
动 力 小 子
笔记随便写的,一般都是给自己看的,各位能看的懂的话可以当作参考。
展开
-
04-集合线程安全问题
1.集合线程不安全演示 案例 package com.atguigu.lock; import java.util.ArrayList; import java.util.UUID; /** * List集合不安全 */ public class ThreadDemo4 { public static void main(String[] args) { // 创建ArrayList集合 ArrayList<String> list = ne原创 2021-10-22 16:32:27 · 2626 阅读 · 0 评论 -
03-线程间定制化通信
启动三个线程,按照如下要求 AA打印5次,BB打印10次,CC打印15次 AA打印5次,BB打印10次,CC打印15次 进行10轮 做法 给予每个线程1个标志位flag=1,2,3 AA 判断flag=1,打印5次,修改标志位flag=2,通知BB BB 判断flag=2,打印10次,修改标志位flag=3,通知CC CC 判断flag=3,打印15次,修改标志位flag=1,通知AA package com.atguigu.lock; import java.util.concurre原创 2021-10-22 15:20:29 · 123 阅读 · 0 评论 -
02-线程间通信
两个线程交替操作变量+1 -1 wait()和notify(),notifyAll() Synchronize实现 package com.atguigu.sync; // 创建资源类 class Share{ // 初始值 private int number=0; // +1方法 public synchronized void incr() throws InterruptedException { // 第二步 判断 干活 通知原创 2021-10-22 14:53:56 · 60 阅读 · 0 评论 -
01-Synchronized关键字和Lock接口
多线程编程步骤 1.创建资源类,在资源类创建属性和操作方法 在资源类操作方法 判断-干活-通知 2.创建多个线程,调用资源类的操作方法 Synchronized实现卖票 3个售票员 卖出30张票 package com.atguigu.sync; // 第一步 创建资源类,定义属性和操作方法 class Ticket{ // 票数 private int number=30; ...原创 2021-10-22 14:31:03 · 84 阅读 · 0 评论