基本概念阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。1)支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。2)支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空阻塞队列一共有7种,我们着重讲一下ArrayBlockingQueue,LinkedBlockingQueue,DelayQ
分类:
其他好文 时间:
2020-07-12 23:54:28
阅读次数:
88
java多线程之间的通信,及使用多种方式实现生产者消费者模式 实现需求:两个线程交替打印1,0,打印10轮 java多线程口诀: 高内聚,低耦合 线程操作资源类 判断干活通知 防止虚假唤醒 方式一:使用synchronized和Object的wait和notifyAll方法 wait:使当前线程阻塞 ...
分类:
编程语言 时间:
2020-07-12 22:15:45
阅读次数:
79
Algorithm: 225: Implement Stack using Queues (Easy) 232: Implement Queue using Stacks (Easy) 栈和队列互相表达虽然很简单,但是有多种办法,比如使用队列时的双队列、单队列、操作头部、操作尾部、peek优化等,最 ...
分类:
其他好文 时间:
2020-07-12 18:33:10
阅读次数:
50
为尽量避免在综合布局布线后的仿真中出现冒险竞争现象,在编写Verilog代码时必须牢记以下8个原则: 1,时序电路建模时,用非阻塞赋值。 2,锁存器电路建模时,用非阻塞赋值。 3,用always块建立组合逻辑模型时,用阻塞赋值。 4,在同一个always块中建立时序和组合逻辑电路时,用非阻塞赋值。 ...
分类:
其他好文 时间:
2020-07-12 17:14:58
阅读次数:
69
参考博客 https://blog.csdn.net/weixin_43067657/article/details/90246038 ...
分类:
其他好文 时间:
2020-07-12 16:41:17
阅读次数:
117
Redis官方提供了两种数据持久化的方式,分别是:RDB和AOF。今天我们来讨论一下这两种持久化方式的区别。 ##RDB 基本原理:RDB持久化主要是通过SAVE和BGSAVE两个命令对Redis数据库中当前的数据做snapshot并生成rdb文件来实现的。其中SAVE是阻塞的,BGSAVE是非阻塞 ...
分类:
数据库 时间:
2020-07-12 15:07:09
阅读次数:
75
基本概念 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。1)支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。 2)支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空 阻塞队列一共有7种 ...
分类:
其他好文 时间:
2020-07-12 14:21:06
阅读次数:
54
同步和异步,阻塞和非阻塞是大家经常会听到的概念,但是它们是从不同维度来描述一件事情,常常很容易混为一谈。 ##1. 同步和异步 同步和异步描述的是消息通信的机制。 ###同步 当一个request发送出去以后,会得到一个response,这整个过程就是一个同步调用的过程。哪怕response为空,或 ...
分类:
其他好文 时间:
2020-07-12 13:54:01
阅读次数:
242
动态伸缩, 根据流量增加或减少机器 灾备 ,如果宕机了 consul 获取所有rpc请求地址,并实时检测 (服务发现机制) 每个服务启动的时候,就会把所有服务注册到consul 为什么不用负载均衡,服务就几百个。consul 可以做自动选举。consul可以做集群。 consul 基于go语言, c ...
分类:
其他好文 时间:
2020-07-11 22:45:05
阅读次数:
76
1.1定义 当程序在运行过程中,会将运算需要的数据从主存复制一份到CPU的高速缓存当中,那么CPU进行计算时就可以直接从它的高速缓存读取数据和向其中写入数据,当运算结束之后,再将高速缓存中的数据刷新到主存当中。 举个简单的例子:i = i +1。当线程执行这个语句时,会先从主存当中读取i的值,然后复 ...
分类:
其他好文 时间:
2020-07-11 12:46:19
阅读次数:
61