concurrent
小十木
不积跬步无以至千里,不积小流,无以成江海!(http://ozdp.top/)
展开
-
java lockInterruptibly 与 lock比较区别
lockInterruptibly 与 lock比较区别lock 优先考虑获取锁,待获取锁成功后,才响应中断。lockInterruptibly 优先考虑响应中断,而不是响应锁的普通获取或重入获取。ReentrantLock.lockInterruptibly允许在等待时由其它线程调用等待线程的Thread.interrupt方法来中断等待线程的等待而直接返回,这时不用获取锁,而会抛出一个...原创 2019-06-20 13:12:55 · 536 阅读 · 0 评论 -
java concurrent 包下的Semaphore方法
Semaphore用法1、Semaphore翻译成字面意思为 信号量,Semaphore可以控同时访问的线程个数,通过 acquire() 获取一个许可,如果没有就等待,而 release() 释放一个许可。...原创 2019-06-11 18:00:18 · 345 阅读 · 0 评论 -
java concurrent 包下的exchanger方法
exchanger 用法1、Exchanger是在两个任务之间交换对象的栅栏,当这些任务进入栅栏时,它们各自拥有一个对象。当他们离开时,它们都拥有之前由对象持有的对象。2、它典型的应用场景是:一个任务在创建对象,这些对象的生产代价很高昂,而另一个任务在消费这些对象。通过这种方式,可以有更多的对象在被创建的同时被消费。3、代码案例: ExecutorService executor = ...原创 2019-06-12 09:37:01 · 122 阅读 · 0 评论 -
java concurrent 包->BlockingQueue
一、java.util.concurrent 包下的类分类图,了解一下。ref: https://blog.csdn.net/wbwjx:https://www.cnblogs.com/gxyandwmm/p/9398934.html原创 2019-05-27 22:45:17 · 189 阅读 · 0 评论 -
java newWorkStealingPool
newWorkStealingPoolnewWorkStealingPool适合使用在很耗时的操作,但是newWorkStealingPool不是ThreadPoolExecutor的扩展,它是新的线程池类ForkJoinPool的扩展,但是都是在统一的一个Executors类中实现,由于能够合理的使用CPU进行对任务操作(并行操作),所以适合使用在很耗时的任务中:// 线程数 pri...原创 2019-07-29 17:18:58 · 1062 阅读 · 0 评论 -
java CompletableFuture详解
public static void test5() throws Exception { CompletableFuture<Void> future = CompletableFuture.runAsync(() -> { try { TimeUnit.SECONDS.sleep(30); ...原创 2019-07-31 16:55:59 · 389 阅读 · 0 评论