3 事务隔离 保证一系列操作的完整性 在mysql中什么是事务? 举例说明:转账行为 你要给朋友转100块钱,而此时你的银行卡只有100块钱。 转账过程具体到程序里会有一系列的操作,比如查询余额、做加减法、更新余额等,这些操作必须保证是一体的,不然等程序查完之后,还没做减法之前,你这100块钱,完全... ...
分类:
其他好文 时间:
2019-07-28 19:16:47
阅读次数:
102
锁的概念 锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁可以防止多个线程同时访问共享资源(但有些锁可以允许多个线程并发的访问共享资源,如读写锁)。 在JDK1.5之前,Java是通过synchronized关键字实现锁功能的:隐式地获取锁和释放锁,但不够灵活。 在JDK1.5,java.u ...
分类:
编程语言 时间:
2019-07-28 13:37:05
阅读次数:
90
网上关于Java中锁的话题可以说资料相当丰富,但相关内容总感觉是一大串术语的罗列,让人云里雾里,读完就忘。本文希望能为Java新人做一篇通俗易懂的整合,旨在消除对各种各样锁的术语的恐惧感,对每种锁的底层实现浅尝辄止,但是在需要时能够知道去查什么。 首先要打消一种想法,就是一个锁只能属于一种分类。其实 ...
分类:
编程语言 时间:
2019-07-22 18:03:41
阅读次数:
107
一、Mysql逻辑架构: 1、 第一层:连接\线程处理 2、 第二层:mysql的核心服务功能,包括查询解析、分析、优化和缓存,所有跨存储引擎的功能都在这一层实现 3、 第三层:存储引擎。存储引擎负责MySQL中数据的存储和提取。 二、并发控制 1、 读写锁:在处理并发读或者写时,可以通过实现一个由 ...
分类:
数据库 时间:
2019-07-17 18:39:13
阅读次数:
119
网上关于Java中锁的话题可以说资料相当丰富,但相关内容总感觉是一大串术语的罗列,让人云里雾里,读完就忘。本文希望能为Java新人做一篇通俗易懂的整合,旨在消除对各种各样锁的术语的恐惧感,对每种锁的底层实现浅尝辄止,但是在需要时能够知道去查什么。 首先要打消一种想法,就是一个锁只能属于一种分类。其实 ...
分类:
编程语言 时间:
2019-07-11 12:58:27
阅读次数:
140
● 请你讲述一下互斥锁(mutex)机制,以及互斥锁和读写锁的区别 参考回答: 1、互斥锁和读写锁区别: 互斥锁:mutex,用于保证在任何时刻,都只能有一个线程访问该对象。当获取锁操作失败时,线程会进入睡眠,等待锁释放时被唤醒。 读写锁:rwlock,分为读锁和写锁。处于读操作时,可以允许多个线程 ...
分类:
其他好文 时间:
2019-07-08 13:33:27
阅读次数:
136
线程同步机制 线程同步机制是一套用于协调线程间的数据访问及活动的机制。该机制用于保障线程安全及实现这些线程的共同目标。 java平台提供的线程同步机制: 锁 volatile关键字 final关键字 static关键字 其他(如:Object.wait()/Object.notify()等) 锁机制 ...
分类:
其他好文 时间:
2019-07-07 12:43:29
阅读次数:
112
首先锁是用来做互斥的,解决并发执行时的数据不一致问题 如图会导致,不可重复读 如果这里用lock就可以解决,数据库里面有个LockManager来作为master,负责锁的记录和授权 数据库里面的基本的锁类型, 其实就是读锁,写锁 但是如果光是有读写锁,只能解决当个操作互斥和正确,无法解决trans ...
分类:
数据库 时间:
2019-06-25 15:18:31
阅读次数:
143
JDK8中引入了高性能的读写锁StampedLock,它的核心思想在于,在读的时候如果发生了写,应该通过重试的方式来获取新的值,而不应该阻塞写操作。这种模式也就是典型的无锁编程思想,和CAS自旋的思想一样。这种操作方式决定了StampedLock在读线程非常多而写线程非常少的场景下非常适用,同时还避 ...
分类:
其他好文 时间:
2019-06-16 11:50:38
阅读次数:
107
读写锁是什么?
读写锁具有哪些特性?
ReentrantReadWriteLock是怎么实现读写锁的?
如何使用ReentrantReadWriteLock实现高效安全的TreeMap?
分类:
编程语言 时间:
2019-06-14 09:19:38
阅读次数:
107