看到一篇总结的很好的一篇博文,于是做个小结 redis大多数时候是单线程运行的(同一个时间只占用一个CPU,只有一个指令在运行,即不可能并行读写),但是redis性能还是很好,原因如下: redis使用了 多路I/O复用机制(详看我的另一篇博客多路复用机制),处理客户端请求时,不会阻塞主线程。red ...
分类:
编程语言 时间:
2021-03-18 14:33:32
阅读次数:
0
在某些时候,我们需要精确的启动一个func,如果用time.sleep简单的轮询,会因为执行的任务阻塞,或者其他原因导致无法精确的定时执行。 例如在采集某些数据的时候,需要精确的每60秒采集一次,如果直接简单的轮询:{1:计时1,2:采集,3:计时2,4:sleep(60-计时2-计时1)},正常的 ...
分类:
编程语言 时间:
2021-03-18 14:22:51
阅读次数:
0
实现原理 AQS(AbstractQueuedSynchronizer),抽象的队列式同步器 AQS 维护了一个 state(共享资源变量)和一个 FIFO 线程等待队列(CLH 队列),多个线程竞争 state 被阻塞时就会进入此队列中。 State state 使用 volatile 修饰的一个 ...
分类:
编程语言 时间:
2021-03-17 15:06:57
阅读次数:
0
1. 下载安装iVerilog 2. 在VSCode中安装插件"Verilog-HDL/SystemVerilog/Bluespec SystemVerilog support for VS Code" 3. 下载ctags,解压后存放在合适的位置,拷贝文件夹中"ctags.exe"的路径,后面需要 ...
分类:
其他好文 时间:
2021-03-17 14:51:16
阅读次数:
0
上期答案 [168] 同步复位和异步复位之间有什么区别?如何使用verilog进行同步复位和异步复位建模? 上电以后,使用复位进行状态设定为一个确定状态。如果对复位在时钟的边沿进行采样,那么就是同步复位。如果不依赖于时钟边沿进行复位采用,则为异步复位。 下面的代码为同步复位 always @ (po ...
分类:
其他好文 时间:
2021-03-17 14:24:33
阅读次数:
0
php socket 读取缓存区域 <?php //创建socket套接字 $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); //设置阻塞模式 socket_set_block($socket); //为套接字绑定ip和端口 socket ...
分类:
Web程序 时间:
2021-03-16 13:58:08
阅读次数:
0
新增特性 多路复用、二进制分帧 请求优先级 头部压缩 服务器推送 一、多路复用 http1.1的主要问题 TCP慢启动 开启多条TCP连接,那么这些连接会竞争固定的带宽。影响关键资源的下载速度 队头阻塞 多路复用的原理 http2的传输是基于二进制帧的。每一个TCP连接中承载了多个双向流通的流,每一 ...
分类:
Web程序 时间:
2021-03-16 13:56:46
阅读次数:
0
问题一 在这个程序下: //d=a+b //out=d+c always @(posedge Clk or negedge Rst_n) begin if(!Rst_n) out = 2'b0; else begin d <= a + b; out <= d + c; end end 问题:出现了o ...
分类:
其他好文 时间:
2021-03-15 11:35:38
阅读次数:
0
一、什么是进程 程序:例如xxx.py这是程序,是一个静态的 进程:一个程序运行起来后,代码+用到的资源称之为进程,它是操作系统分配资源的基本单元。 不仅可以通过线程完成多任务,进程也是可以的 进程的状态 工作中,任务数往往大于cpu的核数,即一定有一些任务正在执行,而另外一些任务在等待cpu进行执 ...
分类:
编程语言 时间:
2021-03-15 11:19:10
阅读次数:
0
html,css,js加载顺序 1.js放在head中会立即执行,阻塞后续的资源下载与执行。因为js有可能会修改dom,如果不阻塞后续的资源下载,dom的操作顺序不可控。 正常的网页加载流程是这样的。 浏览器一边下载HTML网页,一边开始解析 解析过程中,发现<script>标签 暂停解析,网页渲染 ...
分类:
Web程序 时间:
2021-03-10 13:38:19
阅读次数:
0