文件事件处理器 Redis基于Reactor模式开发了网络事件处理器,这个处理器叫做文件事件处理器 file event handler。这个文件事件处理器,它是单线程的,所以 Redis 才叫做单线程的模型,它采用IO多路复用机制来同时监听多个Socket,根据Socket上的事件类型来选择对应的 ...
分类:
编程语言 时间:
2020-04-12 16:31:27
阅读次数:
67
volatile是Java虚拟机提供的轻量级别的同步机制 保证可见性 不保证原子性 禁止指令重排 JMM 可见性 原子性 有序性 计算机在执行程序是,为了提高性能,编译器和处理器常常会做指令重排,一般分为以下3中 单线程环境中确保程序最终执行结果和代码顺序执行的结果 一致性 处理器在进行重新排序是必 ...
分类:
编程语言 时间:
2020-04-12 12:44:01
阅读次数:
59
1.支付宝模拟线上优化实战 2.手写JUC工具与提升tomcat吞吐量 3.网络通信BIO设计与缺陷 -- accept() 和 read()阻塞 4.单线程解决高并发NIO精髓解读 5.OS内核下Epoll与Selete源码解读 第一部分: 性能优化 问题:如何在高并发场景下实现支付宝用户登录页面 ...
分类:
系统相关 时间:
2020-04-11 10:02:44
阅读次数:
82
由于多核多线程的CPU的诞生,多线程、高并发的编程越来越受重视和关注。多线程可以给程序带来如下好处。(1)充分利用CPU的资源从上面的CPU的介绍,可以看的出来,现在市面上没有CPU的内核不使用多线程并发制的,特别是服务器还不止一个CPU,如果还是使用单线程的技术做思路,明显就out了。因为程序的基 ...
分类:
其他好文 时间:
2020-04-11 09:24:45
阅读次数:
69
摘自:https://www.jianshu.com/p/bf648b4e60ad 1. 什么是memcached? 答:不支持持久化,没有安全机制。可以用telnet等工具直接连接memcached。memcached是多线程工作,而redis是单线程工作。各个memcached服务器之间互不通信 ...
分类:
系统相关 时间:
2020-04-10 00:48:48
阅读次数:
64
【主题】 redis与memcached有什么区别? 【背景】 redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发? 【剖析】 redis 最基本的一个内部原理和特点,就是 redis 实际上是个单线程工作模型。 redis 和 m ...
分类:
系统相关 时间:
2020-04-09 15:34:14
阅读次数:
133
单线程模型 JavaScript 只在一个线程上运行,同时只能执行一个任务,其他任务都必须在后面排队等待。 注意 , JavaScript 只在一个线程上运行,不代表 JavaScript 引擎只有一个线程。事实上,JavaScript 引擎有多个线程,单个脚本只能在一个线程上运行(称为主线程),其 ...
分类:
编程语言 时间:
2020-04-08 19:30:54
阅读次数:
67
为什么会有这个需求: 例如一个简单用户的操作,一个线程去修改用户状态,首先在在内存中读出用户的状态,然后在内存中进行修改,然后在存到数据库中。在单线程中,这是没有问题的。但是在多线程中由于读取,修改,写入是三个操作,不是原子操作(同时成功或失败),因此在多线程中会存在数据的安全性问题。 这个问题的话 ...
分类:
其他好文 时间:
2020-04-08 19:01:03
阅读次数:
66
前言 初学并发的时候一想到并发,然后就和多线程对等了。这就有一丢丢狭隘了,比如说node是单线程,但是人家可以高并发。说明并发并不是一个简单的多线程问题。 同样很多人说硬件cpu的发展为并发提供基础,在这里也可以看出是其实是为多线程提供基础,为并发提供发展道路。 并发的优点在操作系统单核的时候就体现 ...
分类:
其他好文 时间:
2020-04-08 18:55:18
阅读次数:
62
前言 众所周知,JavaScript 是一门单线程语言,虽然在 html5 中提出了 Web-Worker ,但这并未改变 JavaScript 是单线程这一核心。可看HTML规范中的这段话: To coordinate events, user interaction, scripts, rend ...
分类:
编程语言 时间:
2020-04-07 22:47:29
阅读次数:
92