一、出现线程安全性问题的条件 ?在多线程的环境下 ?必须有共享资源 ?对共享资源进行非原子性操作 二、解决线程安全性问题的途径 ?synchronized (偏向锁,轻量级锁,重量级锁) ?volatile ?JDK提供的原子类 ?使用Lock(共享锁,排它锁) 三、认识的“*锁” ?偏向锁 Jav ...
分类:
编程语言 时间:
2018-08-11 21:58:09
阅读次数:
155
锁的作用:避免并发请求时对同一个数据对象同时修改,导致数据不一致。 怎么加锁: 1.事务T1在对某个数据对象R1操作之前,先向系统发出请求,对其加锁L1. 2.之后,事务T1对该数据对象R1有了相应的控制,在T1释放L1之前,其它事务不能修改R1. 锁类型: 1.排它锁(X)。 2.共享锁(S)。 ...
分类:
数据库 时间:
2018-08-06 23:19:04
阅读次数:
237
实验环境: mysql5.6 存储引擎:innoDB 我们在操作数据库的时候,可能会由于并发问题而引起的数据的不一致性(数据冲突) 乐观锁 乐观锁不是数据库自带的,需要我们自己去实现。乐观锁是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行任何其他的特殊处理 ...
分类:
数据库 时间:
2018-07-26 21:11:35
阅读次数:
217
对mysql乐观锁、悲观锁、共享锁、排它锁、行锁、表锁概念的理解我们在操作数据库的时候,可能会由于并发问题而引起的数据的不一致性(数据冲突)乐观锁乐观锁不是数据库自带的,需要我们自己去实现。乐观锁是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行 ...
分类:
数据库 时间:
2018-07-22 19:20:48
阅读次数:
195
SQL Server中的锁分为两类: 共享锁 排它锁 锁的兼容性:事务间锁的相互影响称为锁的兼容性。 SQL Server中可以锁定的资源包括:RID或键(行)、页、对象(如表)、数据库等等。 在试图修改数据(增删改)时,事务会请求数据资源的一个排它锁而不考虑事务的隔离级别。排它锁直到事务结束才会解 ...
分类:
数据库 时间:
2018-07-15 17:38:37
阅读次数:
344
JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-answers/ 多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出 ...
分类:
编程语言 时间:
2018-07-13 00:03:30
阅读次数:
226
乐观锁 总是认为不会产生并发问题,每次去取数据的时候总认为不会有其他线程对数据进行修改,因此不会上锁,但是在更新时会判断其他线程在这之前有没有对数据进行修改,一般会使用版本号机制或CAS操作实现。 例如: 有这样一个表: 每次更新时update在条件后再附加一个时间为条件: 因为如果并发操作,同一刻 ...
分类:
数据库 时间:
2018-07-11 17:12:23
阅读次数:
250
“同步设备”(无论是手工同步,还是自动同步)操作,是一个单一排它性操作,也就是无论点击多少次,还是当前同步时长太长,同一时间内只能有一个同步操作。 因此,我们需要添加代码来防止并发的同步操作,包括: 1)点击手工同步时,如果当前已经有同步任务,则需要提示:“系统正在同步中,请完成后再操作” 2)自动 ...
分类:
其他好文 时间:
2018-07-05 15:55:59
阅读次数:
148
一、并发访问控制 实现的并发访问的控制技术是基于锁; 锁分为表级锁和行级锁,MyISAM存储引擎不支持行级锁;InnoDB支持表级锁和行级锁; 锁的分类有读锁和写锁,读锁也被称为共享锁,加读锁的时候其他的人可以读;写锁也称为独占锁或排它锁,一个写锁会阻塞其他读操作和写操作; 锁还分为隐式锁和显式锁, ...
分类:
系统相关 时间:
2018-06-15 21:49:40
阅读次数:
206
原文:sql server 死锁排查 记得以前客户在使用软件时,有偶发出现死锁问题,因为发生的时间不确定,不好做问题的重现,当时解决问题有点棘手了。 现总结下查看死锁的常用二种方式: 第一种是图形化监听: sqlserver -->工具--> sql server profiler 登录后在跟踪属性... ...
分类:
数据库 时间:
2018-05-19 10:36:50
阅读次数:
209