认识synchronized 对于写多线程程序的人来说,经常碰到的就是并发问题,对于容易出现并发问题的地方加上synchronized修饰符基本上就搞定 了,如果说不考虑性能问题的话,这一招绝对能应对百分之九十以上的情况,若对于性能方面有要求的话就需要额外的知识比如读写锁等等。本文目的先了解透彻sy ...
分类:
编程语言 时间:
2018-12-02 12:04:37
阅读次数:
250
参考文章:https://www.cnblogs.com/yelbosh/p/5813865.html 在MVCC中,读操作可以分成两类,快照读(Snapshot read)和当前读(current read)。快照读,读取的是记录的可见版本(可能是历史版本,即最新的数据可能正在被当前执行的事务并发 ...
分类:
数据库 时间:
2018-11-26 22:07:44
阅读次数:
274
1、锁机制 1.1 互斥锁:提供了以排它方式阻止数据结构被并发修改的方法。 1.2 读写锁:允许多个线程同时读共享数据,而对写操作互斥。 1.3 条件变量:可以以原子的方式阻塞进程,直到某个特定条件为真为止。对条件测试是在互斥锁的保护下进行的。条件变量始终与互斥锁一起使用。2、信号量机制:包括无名线 ...
分类:
编程语言 时间:
2018-11-11 20:19:53
阅读次数:
177
#基础篇幅:线程基础知识、并发安全性、JDK锁相关知识、线程间的通讯机制、JDK提供的原子类、并发容器、线程池相关知识点#高级篇幅:ReentrantLock源码分析、对比两者源码,更加深入理解读写锁,JAVA内存模型、先行发生原则、指令重排序#环境说明:idea、java8、maven#第一章并发简介##01课程简介为什么要学习并发编程?方便实际开发面试课程特点适合群体##02什么是并发编程并发
分类:
编程语言 时间:
2018-11-09 12:15:04
阅读次数:
204
基础篇幅:线程基础知识、并发安全性、JDK锁相关知识、线程间的通讯机制、JDK提供的原子类、并发容器、线程池相关知识点 高级篇幅:ReentrantLock源码分析、对比两者源码,更加深入理解读写锁,JAVA内存模型、先行发生原则、指令重排序 环境说明: idea、java8、maven 第四章-- ...
分类:
编程语言 时间:
2018-11-09 12:12:49
阅读次数:
187
读锁:读读不互斥 写锁:独占 lock下有读写锁 ReadWriteLock synchronized 是独占的 1.Java并发库中ReetrantReadWriteLock实现了ReadWriteLock接口并添加了可重入的特性 2.ReetrantReadWriteLock读写锁的效率明显高于 ...
分类:
其他好文 时间:
2018-10-28 19:23:25
阅读次数:
102
相比Java中的锁(Locks in Java)里Lock实现,读写锁更复杂一些。假设你的程序中涉及到对一些共享资源的读和写操作,且写操作没有读操作那么频繁。在没有写操作的时候,两个线程同时读一个资源没有任何问题,所以应该允许多个线程能在同时读取共享资源。但是如果有一个线程想去写这些共享资源,就不应 ...
分类:
其他好文 时间:
2018-10-26 17:55:36
阅读次数:
189
一、并发控制中锁的概念 锁是并发控制中最核心的概念之一,在MySQL中的锁分两大类,一种是读锁,一种是写锁,读锁也可以称为共享锁(shared lock),写锁也通常称为排它锁(exclusive lock)。 这里先不讨论锁的具体实现,描述一下锁的概念:读锁是共享的,或者说是相互不阻塞的。多个客户 ...
分类:
数据库 时间:
2018-10-26 14:30:42
阅读次数:
209
多线程设计模式第三篇,介绍基础的生产者-消费者模式和实用的读写锁模式
分类:
编程语言 时间:
2018-10-18 18:10:39
阅读次数:
223
一面: 1.简要介绍项目; 2.select(),poll(),epoll()函数用法 3.介绍TCP和UDP 4.合并两个有序链表,生成一个新的有序链表 5.二叉树查找路径 (4,5都是剑指offer上的题) 6.哈希表相关知识 7.读写锁 二面: 1.简要介绍TCP和UDP 2.介绍项目 3.说 ...
分类:
其他好文 时间:
2018-10-11 23:46:37
阅读次数:
306