摘要:
在实际的软件开发过程中,经常会碰到如下场景:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、线程、进程等)。产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。 生产者消费者模式 生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题 阅读全文
posted @ 2020-05-11 18:03
我有满天星辰
阅读(29)
评论(0)
推荐(0)
摘要:
Lock(锁) 从JDK5.0开始,Java提供了更强大的线程同步机制——通过显示定义同步锁对象来实现同步,同步锁使用Lock对象充当java.util.concurrent.locks.Lock接口是控制多个线程对共享线程进行了访问的工具。锁提供了对共享资源的独占访问,每次只有一个线程对Lock对 阅读全文
posted @ 2020-05-11 14:25
我有满天星辰
阅读(20)
评论(0)
推荐(0)
摘要:
死锁 多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形。 化妆死锁案例: package test; //死锁:多个线程互相抱着对方需要的资源,然后形成僵持 public class DeadLock { public 阅读全文
posted @ 2020-05-11 14:01
我有满天星辰
阅读(18)
评论(0)
推荐(0)
摘要:
线程同步 由于我们可以通过 private 关键字来保证数据对象只能被方法访问,所以我们只需要针对方法提供一套机制,这套机制就是 synchronized 关键字,它包括两种用法:synchronized 方法 和 synchronized 块 同步方法: public synchronized v 阅读全文
posted @ 2020-05-11 13:59
我有满天星辰
阅读(19)
评论(0)
推荐(0)
摘要:
案例:线程安全的集合 package test; import java.util.ArrayList; import java.util.List; //线程安全的集合 public class UnsafeList { public static void main(String[] args) 阅读全文
posted @ 2020-05-11 00:32
我有满天星辰
阅读(73)
评论(0)
推荐(0)

浙公网安备 33010602011771号