狂神JUC——传统的Synchronized锁

JUC
1 狂神JUC——传统的Synchronized锁
2 狂神JUC——Lock锁
3 狂神JUC——Lock版生产者和消费者
4 狂神JUC——Synchronized版的生产者和消费者问题
5 狂神JUC——8锁现象彻底理解锁
6 狂神JUC——集合不安全
7 狂神JUC——走近Callable
8 狂神JUC——CountDownLatch,CyclicBarrier,Semaphore
9 狂神JUC——读写锁
10 狂神JUC——阻塞队列
11 狂神JUC——同步队列
12 狂神JUC——线程池
13 狂神JUC——7大参数及自定义线程池
14 狂神JUC——四大函数接口
15 狂神——Stream流式计算
16 狂神——链式编程
17 狂神JUC——ForkJoin
18 狂神JUC——异步回调
19 狂神JUC——单例模式
20 狂神JUC——CAS
21 狂神JUC——可重入锁
22 狂神JUC——自旋锁
package com.company; public class SynchronizedTest {public static void main(String[] args) { Ticket ticket = new Ticket(); new Thread(()->{ for (int i = 0; i < 30; i++) { ticket.sale(); } },"学生A").start(); new Thread(()->{ for (int i = 0; i < 30; i++) { ticket.sale(); } },"学生B").start(); new Thread(()->{ for (int i = 0; i < 30; i++) { ticket.sale(); } },"学生C").start(); } }class Ticket{ private int number = 30; //卖票的方式 //synchronized 本质:队列、锁 public synchronized void sale(){ if(number > 0){ System.out.println(Thread.currentThread().getName() + "买到了第" + (number--) + "票,剩余:" + number ); } } }

运行结果:
狂神JUC——传统的Synchronized锁
文章图片

【狂神JUC——传统的Synchronized锁】详细信息请看狂神视频

    推荐阅读