BUAA_OO_2020_Unit2_Summary 简述 通过Unit2的学习,我了解到Java多线程的相关知识,认识到单例模式、生产者 消费者模式、观察者模式、工人模式等设计模式,并通过设计基于SSTF算法的电梯加深对多线程知识的理解,同时将一部分设计模式加以应用。本博文从设计策略概述、架构可扩 ...
分类:
其他好文 时间:
2020-04-17 09:52:41
阅读次数:
84
1.sleep()是Thread类的方法;而wait(),notify(),notifyAll()是Object类中定义的方法;2.Thread.sleep和Object.wait都会暂停当前的线程,Thread.sleep不会造成当前锁行为的变化,如果当前线程有锁,调用之后并不会释放锁;而Object.wait会释放当前对象锁.代码实现:packagetest111;importjava.uti
分类:
其他好文 时间:
2020-04-16 10:24:55
阅读次数:
76
public class Storage{ // 仓库最大存储量 private final int MAX_SIZE = 100; // 仓库存储的载体 private LinkedList<Object> list = new LinkedList<Object>(); // 生产产品 publ ...
分类:
其他好文 时间:
2020-04-04 22:38:56
阅读次数:
78
设计模式列表 缓存驻留模式:从数据存储器加载数据,【用于改进性能,维护缓存和后台数据库直接的数据一致性】 断路器模式:当链接远程服务或资源时,可能导致不定时间恢复系统的错误,此模式可【用于改进系统的稳定性和弹性】 事物补偿模式:【实现复杂的业务过程和工作流】 竞争消费者模式:【允许系统并发处理多个消 ...
分类:
其他好文 时间:
2020-03-27 00:45:10
阅读次数:
75
public class TestAccount { public static void main(String[] args) { Account account = new Account(); account.setAccount("116854398"); account.setBalan ...
分类:
编程语言 时间:
2020-03-25 10:42:44
阅读次数:
78
单生产者与单消费者 示例: public class ProduceConsume { public static void main(String[] args) { String lock = new String(""); Produce produce = new Produce(lock) ...
分类:
编程语言 时间:
2020-03-18 23:56:02
阅读次数:
118
生活中我们经常遇到观察者模式的案例。 例如,我们去商场购物,注册了一家店的会员,一旦这家店有活动,你的手机就会收到一些推送消息,是不是? 在例如,我们看某个电视台的节目,这个电视台放什么节目我们就会看到什么节目。 这些都是典型的生产者与消费者的案例。 所谓的观察者模式,定义了一种一对多的依赖关系,能 ...
分类:
编程语言 时间:
2020-03-10 11:50:05
阅读次数:
87
1. 进程 VS 线程 2. 多线程 - threading 3. 创建多线程 - Thread 子类 4. 同步 5. 死锁 6. 生产者与消费者模式 1. 进程VS线程 定义 进程是资源分配的最小单位,线程是CPU调度的最小单位。 一个程序启动后至少有一个进程,一个进程至少有一个线程。线程不能够 ...
分类:
编程语言 时间:
2020-03-08 14:30:56
阅读次数:
70
Java 如何开发一个自定义线程池 每一个线程的启动和结束都是比较消耗时间和占用资源的。 如果在系统中用到了很多的线程,大量的启动和结束动作会导致系统的性能变卡,响应变慢。 为了解决这个问题,引入线程池这种设计思想。 线程池的模式很像 生产者消费者模式 ,消费的对象是一个一个的能够运行的 任务 步骤 ...
分类:
编程语言 时间:
2020-03-02 10:52:33
阅读次数:
58
简介 基于生产者消费者模式,我们可以开发出线程安全的异步消息队列。 知识储备 什么是生产者消费者模式? 为了方便理解,我们暂时将它理解为垃圾的产生到结束的过程。 简单来说,多住户产生垃圾(生产者)将垃圾投递到全小区唯一一个垃圾桶(单队列),环卫将垃圾桶中的垃圾进行处理(消费者)。就是一个生产者消费者 ...