读写分离锁可以有效的帮助减少锁的竞争,提升系统的效率, 读-读不互斥 读读之间不阻塞 读-写互斥 读阻塞写,写也会阻塞读 写-写互斥 写写阻塞 在系统中,读操作次数远远大于写操作,则读写锁就可以发挥最大的功效,提升系统的性能. public class ReadWriteLockDemo { pri ...
分类:
其他好文 时间:
2016-12-22 19:44:27
阅读次数:
232
重入锁可以完全代替synchronized关键字.在JDK5.0的早期版本中,重入锁的性能远远好于synchronized,但是从JDK6.0开始.JDK在synchronized上做了大量的优化.使得两者的性能差距不大, public class ReenterLock implements Ru ...
分类:
其他好文 时间:
2016-12-22 19:24:20
阅读次数:
196
Condition结构提供了基本方法如下: void await() throws InterruptedException; void awaitUninterruptibly(); long awaitNanos(long nanosTimeout) throws InterruptedExce ...
分类:
其他好文 时间:
2016-12-22 19:05:16
阅读次数:
216
信号量为多线程协作提供了更为强大的控制方法,广义上说,信号量是对锁的拓展,无论是内部锁synchronized还是重入锁ReentrantLock,一次都只允许一个线程访问一个资源,而信号量缺可以指定多个线程.同时访问某一个资源,信号量主要提供了一下构造函数: public Semaphore(in ...
分类:
编程语言 时间:
2016-12-22 18:49:04
阅读次数:
135
一、协程 1.理论知识 协程,又称伪线程,是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈,协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此:协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每次过程重入时,就相当于进入上一 ...
分类:
编程语言 时间:
2016-12-22 11:54:57
阅读次数:
256
之前还是写过蛮多的关于锁的文章的: http://www.cnblogs.com/charlesblc/p/5994162.html 《【转载】Java中的锁机制 synchronized & 偏向锁 & 轻量级锁 & 重量级锁 & 各自》 http://www.cnblogs.com/charle ...
分类:
编程语言 时间:
2016-12-16 22:12:42
阅读次数:
283
目录 第1章定时器 1 1.1 创建定时器 1 1.2 销毁定时器 1 1.3 定时器的运作 1 1.3.1 产生WM_TIMER消息 1 1.3.2 分发WM_TIMER消息 2 1.4 WM_TIMER 消息的重入 3 第1章定时器 1.1 创建定时器 请使用API函数 SetTimer 来创建 ...
并发 并发在单核和多核 CPU 上都存在, 对于单核 CPU,通过轮训时间片的方式实现并发. 线程 线程对象 利用Thread对象, 有两种方式来创建并发程序: 线程的创建 有两种方式创建线程: 两种方法的优缺点? Runnable 总体来说更好一点 线程的基本状态 线程有如下状态: WAITING ...
分类:
编程语言 时间:
2016-12-08 02:14:28
阅读次数:
337
QT开发(二十七)——QT常用类(一)一、QString1、QString简介QString提供了Unicode编码的字符串,使用隐式共享技术来节省内存和不必要的数据拷贝,不必考虑跨平台的兼容性。QString类成员函数中除了ascii()、latin1()、utf8()、local8Bit()函数,其他所有的函数都是可重入的..
分类:
其他好文 时间:
2016-12-03 16:07:23
阅读次数:
1464
一、synchronized有锁重入的特点,某个线程得到对象的锁后,再次请求此对象可以再次得到改对象的锁。如下示例,在method1中调用method2,在method2中调用method3,而method1、method2和method3都是加了synchronized关键字的。 二、父类和子类的 ...
分类:
其他好文 时间:
2016-12-02 03:21:01
阅读次数:
184