一条命令的执行过程有很多细节,但大体可以分为:客户端先将用户输入的命令转化为Redis相关的通讯协议,再用socket连接的方式将内容发送给服务器端。服务器端在接收到相关内容后,则是先将内容转化为具体的命令,再判断用户授权信息和其它相关信息,当验证通过时会执行最终命令,命令执行完毕后会进行相关的信息 ...
分类:
其他好文 时间:
2020-07-09 13:53:26
阅读次数:
61
跑一个小程序 run.py #! /usr/bin/python # encoding:utf-8 # 导入Tornado模块 import tornado.ioloop #核心IO循环模块 import tornado.httpserver #异步非阻塞HTTP服务器模块 import torna ...
分类:
编程语言 时间:
2020-07-08 15:38:00
阅读次数:
70
import threading # 线程模块 def function(num): pass thread_1 = threading.Thread(target=function, args=(1,)) # 创建线程 thread_1.start() # 启动线程 thread_1.getNam ...
分类:
编程语言 时间:
2020-07-08 15:19:00
阅读次数:
54
这道题是字节的面试题,当场问我有点紧张没想出来,只答上来要交替阻塞,还是面试官提醒我用生产者消费者思路解决。 题目 有A类线程50个,任务是打印字符A。有B类线程50个,任务是打印字符B。现在异步启动这100个线程,问如何才能让他们交替打印AB字符? 解题思路 设两个信号SemaphoreA和Sem ...
分类:
编程语言 时间:
2020-07-08 10:31:30
阅读次数:
100
1、synchronized 是悲观锁,属于抢占式,会引起其他线程阻塞。 2、volatile 提供多线程共享变量可见性和禁止指令重排序优化。 3、CAS 是基于冲突检测的乐观锁(非阻塞) ...
分类:
其他好文 时间:
2020-07-07 19:28:08
阅读次数:
65
2PC(两阶段提交) 阶段1 在阶段1中,协调者发起一个提议,分别问询各参与者发送事务预处理请求(可不可以执行任务) 阶段2 在阶段2中,协调者根据参与者的反馈,提交或中止事务,如果参与者全部同意则提交,只要有一个参与者不同意就中止。 缺点 同步阻塞问题。执行过程中,所有参与节点都是事务阻塞型的。当 ...
分类:
其他好文 时间:
2020-07-07 17:47:26
阅读次数:
80
前言 我们都知道javascript是一门单线程、异步、非阻塞、解析类型脚本语言。 单线程 ?? 异步 ?? 非阻塞 ?? 然后还有 事件循环、消息队列,还有微任务、宏任务这些 这几天在掘金、知乎等论坛翻阅了不少大佬的文章,似乎了解到了一二,然后在这里把自己的体会总结出来,帮助大家快速理解,也能增加 ...
分类:
Web程序 时间:
2020-07-07 13:39:23
阅读次数:
75
Java 中的死锁是一种编程情况,其中两个或多个线程被永久阻塞,Java 死锁情况 出现至少两个线程和两个或更多资源。 Java 发生死锁的根本原因是:在申请锁时发生了交叉闭环申请。 ...
分类:
编程语言 时间:
2020-07-07 13:06:38
阅读次数:
57
现代传感器的接口:中断驱动的ADC驱动程序 Interfacing with modern sensors: Interrupt driven ADC drivers 研究了如何编写一个阻塞的模数转换器(ADC)驱动程序和一个使用轮询技术不阻塞应用程序流的驱动程序。轮询外围设备的驱动程序效率低下,如 ...
分类:
其他好文 时间:
2020-07-07 09:44:08
阅读次数:
60
1、锁的作用 Java中的锁主要用于保障多并发线程情况下数据的一致性。 在多线程编程中为了保障数据的一致性,通常需要在使用对象或者方法之前加锁,这时如果有其他线程也需要使用该对象或方法。则首先要获得锁,如果某个线程发现锁正在被其他线程使用,就会进入阻塞队列等待锁的释放,直到其他线程执行完成并释放锁, ...
分类:
编程语言 时间:
2020-07-07 00:15:49
阅读次数:
91