并发
文章平均质量分 83
传a奇
这个作者很懒,什么都没留下…
展开
-
并发之事务隔离
1.数据库的并发问题 数据库带来的并发问题包括: (1)丢失更新 (2)脏读 (3)非重复读 (4)覆盖更新 (5)幻象读1.1 丢失更新 撤销一个事务时,把其他事务已提交的更新数据覆盖(A和B事务并发执行,A事务执行更新后,提交;B事务在A事务更新后,B事务结束前也做了对该行数据的更新操作,然后回滚,则两次更新操作都丢失了)。原创 2015-12-03 10:27:36 · 360 阅读 · 0 评论 -
AtomicInteger
AtomicInteger 是一个支持原子操作的 Integer 类,就是保证对AtomicInteger类型变量的增加和减少操作是原子性的,不会出现多个线程下的数据不一致问题。通常情况下,在Java里面,++i或者--i不是线程安全的,这里面有三个独立的操作:或者变量当前值,为该值+1/-1,然后写回新的值。在没有额外资源可以利用的情况下,只能使用加锁才能保证读-改-写这三个操作时“原子性”的。原创 2016-01-04 12:00:32 · 1660 阅读 · 0 评论 -
CountDownLatch与CyclicBarrier
CountDownLatch 直译过来就是倒计数(CountDown)门闩(Latch)。倒计数不用说,门闩的意思顾名思义就是阻止前进。在这里就是指 CountDownLatch.await() 方法在倒计数为0之前会阻塞当前线程。当计数器count变为0时,所有线程不再等待,同时运行。 CountDownLatch的作用和 Thread.join()方原创 2016-01-06 12:20:45 · 428 阅读 · 0 评论 -
Synchroniazed和Lock实现生产者--消费者
使用Synchroniazed、wait、notify()实现代码如下:public class Test { private int queueSize = 10; private PriorityQueue queue = new PriorityQueue(queueSize); public static void main(String[] ar原创 2015-12-13 17:27:27 · 535 阅读 · 0 评论