加载中
Java并发编程高级篇(十一):执行器之处理被拒绝的任务

我们知道在调用执行器的shutdown()方法后,再向执行器提交任务会被拒绝。执行器框架为我们提供了一个类RejectedExecutionHandler,来让我们自定义一些被拒绝任务的处理逻辑。 首先实现自定义...

Java并发编程高级篇(十):分离任务的执行和结果的处理

在之前的例子中,我们使用执行器框架都是在主类中提交任务,等待任务执行完毕后再去处理任务执行的结果。接下来我们打算将任务的提交和结果的处理都放置到线程中去执行。在每个任务内部提交自...

Java并发编程高级篇(九):在线程之行结束后再做些什么

如果我们想要在线程执行结束后做一些事情,比如生成报表,发送通知邮件或者释放一些系统资源,FutureTask类给于我们最好的支持。 想要实现这种控制方式,我们不能直接把Callable<?>对象直接提...

Java并发编程高级篇(八):在执行器中取消任务

前面我们已经学习如何把任务发送给执行器去执行,但是当我们想要取消一个已经发送给执行器的任务该怎么办呢。可以使用Future对象的cancel()方法。 首先我们创建一个任务线程类,实现Callabl...

Java并发编程高级篇(七):使用执行器周期性地执行任务

我们已经学习了如何利用执行器框架提供的ThreadPoolExecutor类的线程池来执行任务,而不用我们手动去创建线程。同时我们也学习了,如何使用ScheduledThreadPoolExecutor类来延迟执行任务,如...

Java并发编程高级篇(六):在执行器中延时执行任务

执行器框架提供了ThreadPoolExecutor类来执行Runnable和Callable任务。当任务被发送给执行器的时候,执行器会根据俄配合尽可能快地执行任务。但是如果我们不想让任务马上执行,而是想让任务过...

Java并发编程高级篇(五):运行多个任务并处理所有结果

执行器框架给我们提供了一个方法,让我们可以发送给执行器一个任务列表,并等待任务列表中的所有任务执行完毕。然后它将返回一个与任务列表对应的Future列表。 下面我们来看一下这个invokeA...

2017/03/02 09:34
1.2K
Java并发编程高级篇(四):运行多个任务并处理第一个结果

接下来,我们来模拟一个用户验证过程,提供两种验证机制,任何一种验证机制验证成功即可通过验证,而不用等两种验证机制都验证成功。 创建UserValidator类,它通过休眠一个随机时间来模拟用户...

Java并发编程高级篇(三):执行器中执行任务并返回结果

执行器框架的优质之一是可以并发地执行任务,并将任务执行结果返回。要想实现这个功能,需要JDK中的两个接口。 Callable:这个接口带有一个call()方法,你可以在这个方法里面实现任务执行逻辑...

Java并发编程高级篇(二):使用固定大小线程执行器

使用Executors工厂类的newCachedThreadPool方法来创建的线程执行器,当执行器碰到没有可用线程的时候,执行器就会创建新的线程。这样,当大量的任务加入到线程执行器,就会造成系统超负荷运行...

Java并发编程高级篇(一):使用线程池执行器

使用执行器框架(Executor Framework)的第一步是创建执行器ThreadPoolExecutor对象。我们可以使用ThreadPoolExecutor提供的四个构造函数,或者使用Executors工厂方法来创建线程执行器。一旦有...

2017/02/28 14:50
339
Java并发编程中级篇(六):并发阶段性任务执行阶段切换过程

每次切换阶段的时候我们都可以定义一些事件。

Java并发编程中级篇(五):更强大的多阶段并发控制Phaser

一个能控制多阶段并发任务的辅助类Phaser

2016/11/26 16:55
757
Java并发编程中级篇(四):使用CyclicBarrier实现并发线程在集合点同步

试想在Java中如何把一个分治算法用并发任务来实现呢。

2016/11/26 12:54
461
Java并发编程中级篇(三):使用CountDownLatch控制多线程并发等待

如何让一个线程都等待其他线程执行完一组操作后再继续执行呢?

2016/11/26 11:20
8.1K
Java并发编程中级篇(二):使用Semaphore信号量进行多个资源并发控制

上一节中我们使用了Semaphore信号量保护共享资源,但是它只能保护一个共享资源,当我们需要同时保护多个共享资源的时候,我们只需要在创建信号量的时候使用new Semaphore(int)构造方法,传入...

Java并发编程中级篇(一):使用Semaphore信号量进行并发控制

Java提供了一种二进制信号量Semaphore类来控制并发访问。

2016/11/25 16:25
585
Java并发编程初级篇(十五):使用公平锁

公平锁可以按照线程的创建时间顺序来竞争锁。

没有更多内容

加载失败,请刷新页面

返回顶部
顶部