![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
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 · 2629 阅读 · 0 评论 -
03-线程间定制化通信
启动三个线程,按照如下要求AA打印5次,BB打印10次,CC打印15次AA打印5次,BB打印10次,CC打印15次进行10轮做法 给予每个线程1个标志位flag=1,2,3AA 判断flag=1,打印5次,修改标志位flag=2,通知BBBB 判断flag=2,打印10次,修改标志位flag=3,通知CCCC 判断flag=3,打印15次,修改标志位flag=1,通知AApackage com.atguigu.lock;import java.util.concurre原创 2021-10-22 15:20:29 · 132 阅读 · 0 评论 -
02-线程间通信
两个线程交替操作变量+1 -1wait()和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 · 66 阅读 · 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 · 92 阅读 · 0 评论