AQS全称为AbstractQueuedSynchronizer,是并发容器中的同步器,AQS是J.U.C的核心,它是抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类都依赖它,如ReentrantLock、Semaphore、CyclicBarrier、Reentra ...
分类:
其他好文 时间:
2018-05-12 17:28:00
阅读次数:
171
引言 为什么需要锁(并发控制) 在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。 典型的冲突有: 丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。 脏读:当 ...
分类:
其他好文 时间:
2018-05-04 17:03:52
阅读次数:
201
三次作业来的设计策略及其变化 这三次作业的重点就在于多线程,出租车、IFTTT、电梯,在不同方面去理解多线程的使用。其中主要是同步异步、线程间信息的交互和共享、锁和时间关系。此外还有依然重要的类的封装,也是面向对象的主要内容了。依旧以程序架构设计本身为主,思考多线程的实行,去思考和执行设计策略。再然 ...
分类:
其他好文 时间:
2018-05-02 21:10:33
阅读次数:
161
共享锁【S锁】又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。 排他锁【X锁】又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A, ...
分类:
其他好文 时间:
2018-04-18 14:23:26
阅读次数:
190
with(nolock)并意味着没有锁,实际上在查询一张表时,还是有锁,会对对象增加架构锁, 防止表会修改,会对数据库增加共享锁。若使用drop index,则要等到架构锁释放。 sql server2005提供了快照隔离和读取已提交快照这两种新的不加锁、无阻塞的事务隔离级别,可使用 快照:每次从数 ...
分类:
其他好文 时间:
2018-04-10 10:46:34
阅读次数:
212
Mysql InnoDB 排他锁 用法: select … for update; 例如:select * from goods where id = 1 for update; 排他锁的申请前提:没有线程对该结果集中的任何行数据使用排他锁或共享锁,否则申请会阻塞。 for update仅适用于In ...
分类:
数据库 时间:
2018-04-08 14:39:23
阅读次数:
219
SQLite数据库的特性 特点: 1.轻量级2.独立性,没有依赖,无需安装3.隔离性 全部在一个文件夹系统4.跨平台 支持众多操作系统5.多语言接口 支持众多编程语言6.安全性 事物,通过独占性和共享锁来实现独立事务的处理,多个进程可以在同一个时间内从同一个数据库读取数据,但只有一个可以写入数据所支 ...
分类:
数据库 时间:
2018-04-06 13:51:09
阅读次数:
636
欢迎大家吐槽 oracle行级共享锁 通常是通过select … from for update语句添加的,同时该方法也是我们用来手工锁定某些记录的主要方法。比如,当我们在查询某些记录的过程中,不希望其他用户对查询的记录进行更新操作,则可以发出这样的语句。当数据使用完毕以后,直接发出rollback ...
分类:
数据库 时间:
2018-04-02 20:01:44
阅读次数:
925
定义 SQL标准定义了4种隔离级别,用来限定事务的哪些改变是可见的,哪些是不不可见的,一般来低级别的隔离级别支持更高的并发,并拥有更低的系统开销。 四种隔离级别 未提交读(Read Uncommitted) 解释:所有的事务都可以看到其他无论是提交还是未提交事务的执行结果 带来问题:会出现脏读现象( ...
分类:
数据库 时间:
2018-03-30 16:26:45
阅读次数:
198
关联文章: 深入理解Java类型信息(Class对象)与反射机制 深入理解Java枚举类型(enum) 深入理解Java注解类型(@Annotation) 深入理解Java类加载器(ClassLoader) 深入理解Java并发之synchronized实现原理 Java并发编程-无锁CAS与Uns ...
分类:
编程语言 时间:
2018-03-27 18:47:31
阅读次数:
268