
并发编程
IT炸雷
灯红酒绿迷人醉,谁说码农不另类
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
juc--Fork-Join分治编程
Fork-Join分治编程天道酬勤原创 2020-08-14 16:38:24 · 347 阅读 · 0 评论 -
juc-Exchanger两个线程通信交换数据
Exchanger的使用类,的功能可以使2个线程之间传输数据,它比生产者/消费者模式使用的wait/notify要更加方便**方法exchange()**阻塞的特性类Exchanger中的exchange()方法具有阻塞的特色,也就是此方法被调用后等待其他线程来取得数据,如果没有其他线程取得数据,则一直阻塞等待。public class ThreadA extends Thread { private Exchanger<String> exchanger; public T原创 2020-08-04 17:14:50 · 241 阅读 · 0 评论 -
juc-Semaphore信号量
Semaphore 含义是信号、信号系统。此类的主要作用就是限制线程并发的数量。public class Service { private Semaphore semaphore=new Semaphore(2);//同一时间做多允许一个线程执行 public void testMethod(){ try { semaphore.acquire();// 使用掉一个许可,减法 System.out.println(Thre原创 2020-08-04 11:12:29 · 205 阅读 · 0 评论 -
Java中的读写锁ReentrantReadWriteLock
Java提供了读写锁。读写锁分为读锁和写锁两种,多个读锁不互斥,读锁与写锁互斥。在java中读写锁接口java.util.concurrent.locks.ReadWriteLock的实现类ReentrantReadWriteLock来完成对读写锁的定义。public class SeafCache { //map模拟读写操作 private final Map<Stri...原创 2020-04-03 00:08:07 · 159 阅读 · 0 评论 -
synchronized和ReentrantLock的区别或不同?--面试高频考点
synchronized和ReentrantLock的区别或不同?1.ReentrantLock是显示获取和释放锁,必须在fiinally语句块中加入释放锁操作,synchronized是隐式锁,2.ReentrantLock可响应中断,为处理锁提供了灵活性3.ReentrantLock是API级别的,synchronized是JVM级别的4.二者底层实现不一样,synchronized是...原创 2020-04-02 21:12:22 · 274 阅读 · 0 评论 -
ReentrantLock的响应中断
/** * ReentrantLock锁是可中断的,可轮询的,定时锁 * lock1.lockInterruptibly()上锁 * tryLock方法可以加参数,实现定时锁 * ReentrantLock可以设置公平锁和非公平锁,在构造函数中加boolean fail参数,默认是非公平锁 */public class InterruptiblyLock { public Re...原创 2020-04-02 21:06:03 · 3933 阅读 · 1 评论 -
多线程的创建方式以及线程池的几种创建方式
使用线程实现Runnable接口实现Callable接口继承Thread类线程池创建1.实现Runnable接口public class MyRunnable implements Runnable { @Override public void run() { // ... }}使用Runnable实例再创建一个Thread实例的star...原创 2020-03-17 19:59:28 · 179 阅读 · 0 评论 -
Java并发编程--学会他就能抵挡千军万马
java并发主要依赖于JVM和cpu指令java对象锁 3种1.普通同步方法,锁是当前实例对象2.对于静态同步方法,锁是当前类的class对象3.对于同步代码块,锁是synchronized括号李配置的对象synchronized的底层原理,在jvm层面调用时monitorenter指令获取锁,monitorexit释放锁。每个对象都有一个对应的monitor监视器关联,监视器被占用就是...原创 2020-03-16 23:45:49 · 152 阅读 · 0 评论