- 博客(5)
- 收藏
- 关注
原创 并发编程学习-synchronized应用
Java中Synchronized关键字用来修饰一个方法或者一个代码块,以保证多线程的情况下,一次只能有一个线程来访问用Synchronized标记的方法或者代码块。 Synchronized方法不同用法代表增加的何种类型的锁:对象锁:Synchronized void methodA() Synchronized (this){}(主要对class类生成的对象进行加锁)类锁: Sy...
2018-05-12 16:05:22
184
原创 并发编程CyclicBarrier应用以及与countDownLatch的区别
CyclicBarrier其实和CountdownLatch作用一样,都是协调线程进度的一个并发工具类。它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。它们的不同之...
2018-05-12 14:11:48
289
原创 并发编程CountDownLatch的应用
CountDownLatch用法:CountDownLatch是通过一个计数器来实现的,计数器的初始值为线程的数量。每当一个线程完成了自己的任务后,计数器的值就会减1。当计数器值到达0时,它表示所有的线程已经完成了任务,然后在闭锁上等待的线程就可以恢复执行任务。构造器中的计数值(count)实际上就是闭锁需要等待的线程数量。这个值只能被设置一次,而且CountDownLatch没有提供任何机制去重...
2018-05-11 23:43:35
178
原创 如何中断正在执行的线程
众所周知,Thread类本身就有个stop方法来停止线程。但是stop()方法已经被弃用,why?原因是stop()方法太过于暴力,会强行把执行一半的线程终止。这样会就不会保证线程的资源正确释放,通常是没有给与线程完成资源释放工作的机会,因此会导致程序工作在不确定的状态下。使用interrept 停止线程:interrupt() 方法只是改变中断状态而已,它不会中断一个正在运行的线程。这一方法实际...
2018-05-08 12:48:20
2400
1
原创 数据库事务的隔离级别学习
数据库的隔离级别可以分为四种类型:read-commit数据库的隔离级别 脏读不可重复读幻读uncommitted-read会会会committed-read不会会会repeatable-read不会不会会serializable不会不会不会mysql 默认隔离级别为repeatable-readuncommitted-read情况下模拟脏读,不可重复读,幻读的发生情况:开启一个事务a,随之一个新...
2018-05-04 23:46:01
145
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人