![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发
风之轻轻吹过
这个作者很懒,什么都没留下…
展开
-
java并发编程学习(三)
1.不可重入锁和可重入锁在java中synchronized和ReentrantLock都是可重入锁可重入锁和不可重入锁的概念:在一个锁中再次获取这个锁,可以获取就是可重入锁(也叫做递归锁),不可获取就是不可重入锁(也交自旋锁)(个人理解)例如:public class TestLock { private synchronized void method1(){ meth...原创 2018-12-04 17:43:01 · 112 阅读 · 0 评论 -
java并发编程学习(一)
1.wait()和notify()public class MyThread { public static List<String> list = new ArrayList<String>(); public static void main(String[] args) { Thread thread = new Thread(){ @Overr...原创 2018-11-27 10:00:14 · 141 阅读 · 0 评论 -
java并发编程学习(二)
1.CountDownLauth用法public class MyCountDownLauth { private static Integer count = 20; final static CountDownLatch countDownLatch = new CountDownLatch(count); public static void main(String[] args...原创 2018-12-04 10:04:52 · 227 阅读 · 0 评论 -
java并发编程学习(四)
1.Future、FutureTaskFuture接口表示异步的结果计算,提供了检查计算是否完成、等待其完成以及获取计算结果的方法。提供了其他方法来确定任务是否正常完成或取消。FutureTask是Future接口的实现类。public class MyFuture { public static void main(String[] args) { FutureTask&l...原创 2018-12-24 15:28:30 · 173 阅读 · 0 评论 -
java并发编程学习(六)
1.原子性、Atomic包和CAS在java中i++不是原子性操作,因此在多线程的情况下,会存在线程安全问题。下面是对i++线程安全的测试: static int i = 0; public static void main(String[] args) throws InterruptedException { CountDownLatch latch = new CountDo...原创 2019-11-21 11:30:37 · 222 阅读 · 0 评论 -
java并发编程学习(五)
1.读写锁ReadWriteLock读写锁有以下特点:1.读锁之间不互斥,2.写锁之间互斥,只能同时有一个写锁进行写操作,3.写锁优先,唤醒线程时优先唤醒写锁。jdk中的ReadWriteLock就是读写锁,ReentrantReadWriteLock是ReadWriteLock接口的一个实现类。ReentrantReadWriteLock除了读写锁的特性以外还有以下的特点:1.支持公平锁...原创 2019-03-19 19:25:36 · 140 阅读 · 0 评论