MYSQL中的锁:语法 :LOCK TABLE 表名1 READ|WRITE, 表名2 READ|WRITE .................. 【锁表】UNLOCK TABLES 【释放表】 Read:读锁|共享锁 : 所有的客户端只能读这个表不能写这个表Write:写锁|排它锁: 所有当前锁定 ...
分类:
数据库 时间:
2018-08-16 14:05:43
阅读次数:
219
1、什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对 运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的支 ...
分类:
编程语言 时间:
2018-08-13 20:53:14
阅读次数:
195
锁的作用:避免并发请求时对同一个数据对象同时修改,导致数据不一致。 怎么加锁: 1.事务T1在对某个数据对象R1操作之前,先向系统发出请求,对其加锁L1. 2.之后,事务T1对该数据对象R1有了相应的控制,在T1释放L1之前,其它事务不能修改R1. 锁类型: 1.排它锁(X)。 2.共享锁(S)。 ...
分类:
数据库 时间:
2018-08-06 23:19:04
阅读次数:
237
在没有写操作的时候,两个线程同时读一个资源没有任何问题,允许多个线程同时读取共享资源。 但是如果有一个线程想去写这些共享资源,就不应该再有其它线程对该资源进行读或写。 简单来说,多个线程同时操作同一资源时,“读读共存,写写不共存,读写不共存”。 读写锁的锁定规则如下:获得读锁后,其它线程可获得读锁而 ...
分类:
编程语言 时间:
2018-07-26 22:10:19
阅读次数:
171
mysql的锁机制比较简单,最显著的特点是不同的存储引擎支持不同的锁机制。innodb支持行锁,有时也会升级为表锁;myisam只支持表锁。表锁的特点就是开销小、加锁快;不会出现死锁;锁粒度大,发生锁冲突的概率高,并发度相对低。行锁的特点就是开销大、加锁慢;会出现死锁;锁粒度小,发生锁冲突的概率低,并发度也相对较高。1、innodb的锁类型:主要有:读锁(共享锁)、写锁(排他锁)、意向锁和MDL锁
分类:
数据库 时间:
2018-07-25 16:11:08
阅读次数:
204
对mysql乐观锁、悲观锁、共享锁、排它锁、行锁、表锁概念的理解我们在操作数据库的时候,可能会由于并发问题而引起的数据的不一致性(数据冲突)乐观锁乐观锁不是数据库自带的,需要我们自己去实现。乐观锁是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行 ...
分类:
数据库 时间:
2018-07-22 19:20:48
阅读次数:
195
java一日一条 6月21日 首先介绍一些乐观锁与悲观锁: 悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。 ...
分类:
编程语言 时间:
2018-07-13 12:12:29
阅读次数:
157
回顾 -------------- 1、并发库下的重入锁 相较于synchronized来讲,cpu资源消耗少。粒度更细,可以控制到共享读锁和 独占写锁,底层实现Unsafe对数字的控制实现,这些数字控制都是原子量实现。 原子量底层控制实现原理是CAS(CompareAndSwap,比较并交换,反复... ...
分类:
编程语言 时间:
2018-06-25 17:54:40
阅读次数:
218
表锁 Myisam引擎(表级) 读锁定时,不能写, 写锁定A表时,其他session不能读和写A表 读锁session-1 只能查A表,不能查其他B表 session-2 写阻塞,能查询所有表 写锁session-1 能改A表, 不能查其他表 session-2 不能查A表,更加不能写操作. loc ...
分类:
数据库 时间:
2018-06-24 22:33:48
阅读次数:
176