摘要:
线程通信 应用场景∶生产者和消费者问题 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费. 如果仓库中没有产品,则生产者将产品放入仓库﹐否则停止生产并等待,直到仓库中的产品被消费者取走为止. 如果仓库中放有产品﹐则消费者可以将产品取走消费﹐否则停止消费并等待,直 阅读全文
posted @ 2022-02-07 21:45
摘星丶仙
阅读(28)
评论(0)
推荐(0)
摘要:
Lock(锁) 从JDK 5.0开始,Java提供了更强大的线程同步机制——通过显式定义同步锁对象来实现同步。同步锁使用Lock对象充当 java.util.concurrent.locks.Lock接口是控制多个线程对共享资源进行访问的工具。锁提供了对共享资源的独占访问,每次只能有一个线程对Loc 阅读全文
posted @ 2022-02-07 21:37
摘星丶仙
阅读(196)
评论(0)
推荐(0)
摘要:
多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形。某一个同步块同时拥有“两个以上对象的锁”时,就可能会发生“死锁”的问题。 package com.wang.multiThread.thread; //死锁:多个线程互 阅读全文
posted @ 2022-02-07 21:27
摘星丶仙
阅读(24)
评论(0)
推荐(0)
摘要:
package com.wang.multiThread.syn; import java.util.concurrent.CopyOnWriteArrayList; //测试JUC安全类型的集合 public class TestJUC { public static void main(Stri 阅读全文
posted @ 2022-02-07 21:10
摘星丶仙
阅读(18)
评论(0)
推荐(0)
摘要:
同步方法 由于我们可以通过private关键字来保证数据对象只能被方法访问,所以我们只需要针对方法提出一套机制,这套机制就是synchronized关键字,它包括两种用法:synchronized方法和synchronized 块. 同步方法: "public synchronized void m 阅读全文
posted @ 2022-02-07 19:55
摘星丶仙
阅读(32)
评论(0)
推荐(0)
摘要:
package com.wang.multiThread.syn; //不安全的买票 //线程不安全,有负数 public class UnsafeBuyTicket { public static void main(String[] args) { BuyTicket station = new 阅读全文
posted @ 2022-02-07 19:45
摘星丶仙
阅读(25)
评论(0)
推荐(0)
摘要:
线程同步 多个线程操作同一个资源 并发 并发:同一个对象被多个线程同时操作 线程同步 现实生活中,我们会遇到”同一个资源,多个人都想使用”的问题,比如,食堂排队打饭,每个人都想吃饭,最天然的解决办法就是,排队,一个个来. 处理多线程问题时,多个线程访问同一个对象﹐并且某些线程还想修改这个对象﹒这时候 阅读全文
posted @ 2022-02-07 19:18
摘星丶仙
阅读(31)
评论(0)
推荐(0)
摘要:
守护(daemon)线程 线程分为用户线程和守护线程 虚拟机必须确保用户线程执行完毕 虚拟机不用等待守护线程执行完毕 如,后台记录操作日志,监控内存,垃圾回收等待.. package com.wang.multiThread.state; //测试守护线程 //上帝守护你 public class 阅读全文
posted @ 2022-02-07 19:09
摘星丶仙
阅读(25)
评论(0)
推荐(0)

浙公网安备 33010602011771号