edis从3.0开始支持集群功能。redis集群采用无中心节点方式实现,无需proxy代理,客户端直接与redis集群的每个节点连接,根据同样的hash算法计算出key对应的slot,然后直接在slot对应的redis上执行命令。在redis看来,响应时间是最苛刻的条件,增加一层带来的开销是redi ...
分类:
其他好文 时间:
2017-05-13 17:04:08
阅读次数:
248
作用 CyclicBarrier是一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point),才继续执行。 简介 CyclicBarrier 的字面意思是可循环使用(Cyclic)的屏障(Barrier)。它要做的事情是,让一组线程到达一个屏障(也可 ...
分类:
编程语言 时间:
2017-04-18 12:26:59
阅读次数:
250
传统线程技术回顾 传统定时器技术回顾 传统线程互斥技术传统线程同步通信技术线程范围内共享变量的概念与作用ThreadLocal类及应用技巧多个线程之间共享数据的方式探讨java5原子性操作类的应用java5线程并发库的应用Callable与Future的应用java5的线程锁技术java5读写锁技术 ...
分类:
编程语言 时间:
2017-04-16 15:46:47
阅读次数:
186
本节内容 操作系统发展史介绍 进程、与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者消费者模型 Queue队列 开发一个线程池 进程 语法 进程间通讯 进程池 操作系统发展史 手工操作 ...
分类:
编程语言 时间:
2017-04-15 19:04:32
阅读次数:
541
此篇博客所有源码均来自JDK 1.8
CyclicBarrier,一个同步辅助类,在API中是这么介绍的:它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。...
分类:
编程语言 时间:
2017-04-13 18:41:22
阅读次数:
248
第一:程序在运行时内存实际的访问顺序和程序代码编写的访问顺序不一定一致,这就是内存乱序访问。内存乱序访问行为出现的理由是为了提升程序运行时的性能。内存乱序访问主要发生在两个阶段: Memory barrier 能够让 CPU 或编译器在内存访问上有序。一个 Memory barrier 之前的内存访 ...
分类:
其他好文 时间:
2017-04-13 10:54:57
阅读次数:
159
文件系统:优化文件系统挂载参数:文件系统挂载参数是在/etc/fstab文件中修改,重启时候生效。noatime表示不记录访问时间,nodiratime不记录目录的访问时间。barrier=0,表示关闭barrier功能。其中nobarrier是xfs文件系统特有,ext4文件系统并无此参数。扩大文件描述符:1、动态修..
分类:
数据库 时间:
2017-04-10 23:50:21
阅读次数:
263
1. 各种同步控制工具的使用 1.1 ReentrantLock(重用锁) 1)与synchronized的区别是,它需要手动申请锁与解锁,而synchronized是JVM自动处理的。可控性上ReentrantLock更强。 由于ReentrantLock是重入锁,所以可以反复得到相同的一把锁,它 ...
分类:
其他好文 时间:
2017-04-08 12:31:01
阅读次数:
239
happens-before:描述内存可见性as-if-serial:无论怎么重排序,程序的运行结果不会改变 ReentrantLock依赖了队列同步器AQS,其实现方式是volatile变量的读写操作进行线程间通信,通过CAS修改state值,成功,其state值>0,则取锁成功 Concurre ...
分类:
Web程序 时间:
2017-03-29 16:26:45
阅读次数:
249
http://www.wtoutiao.com/p/1b4Lvvv.html http://www.jb51.net/article/34729.htm http://blog.csdn.net/lantian0802/article/details/9720993 ...
分类:
其他好文 时间:
2017-03-28 22:52:48
阅读次数:
742