`

JAVA利用线程池控制方法执行时间

    博客分类:
  • J2SE
 
阅读更多
package cn;

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.FutureTask;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;

/**
 * @author zhangming
 *
 */
public class TestFurther {

	public static void main(String[] args) {
		ExecutorService executorService = Executors.newFixedThreadPool(1);
		FutureTask<Boolean> futureTask = new FutureTask<>(
				new Callable<Boolean>() {
					@Override
					public Boolean call() throws Exception {
						System.out.println("不告诉你。");
						Thread.sleep(1000 * 3);
						System.out.println("8888888888");
						return false;
					}
				});
		try {
			executorService.submit(futureTask).get(2, TimeUnit.SECONDS);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ExecutionException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (TimeoutException e) {
			System.out.println("超时了吧~~~");
			e.printStackTrace();
			executorService.shutdownNow();
		}
	}
}

 

分享到:
评论

相关推荐

    JAVA使用线程池查询大批量数据

    在Java开发中,处理大批量数据时,合理利用线程池可以显著提高程序的执行效率和资源利用率。本文将深入探讨如何在Java中使用线程池来查询大量数据,以及这样做的好处和实现方法。 首先,理解线程池的概念至关重要。...

    java线程池封装j

    - **调整线程池参数**:合理设置核心线程数、最大线程数和存活时间,确保线程池既能充分利用资源,又能避免过度消耗。 - **监控与调优**:通过JMX或其他监控工具实时监控线程池状态,根据监控数据调整参数。 ### 5....

    Java线程池使用说明

    3. 提交任务:将任务提交给线程池执行,线程池会根据线程池的配置和当前的线程状况,决定如何处理这些任务。 4. 关闭线程池:完成任务后,应该关闭线程池,释放相关资源。 在实现过程中,对于线程池的合理配置非常...

    Java版线程池实现

    Java线程池是一种高效管理并发任务执行的机制,它通过预先创建并维护一定数量的线程,从而避免了频繁地创建和销毁线程所带来的性能开销。在Java中,线程池的实现主要依赖于`java.util.concurrent`包中的`...

    java通过线程控制程序执行超时

    在Java编程中,控制程序执行超时是一项关键任务,特别是在多线程环境下,我们需要确保某个任务不会无限期地运行,导致资源浪费或者阻塞其他重要任务。本篇将深入探讨如何利用Java的线程和定时器(Timer)来实现这个...

    java线程池的源码分析.zip

    Java线程池是Java并发编程中的重要组成...通过深入研究Java线程池的源码,我们可以更好地控制并发任务的执行,优化系统性能,同时避免潜在的资源浪费和线程安全问题。理解并熟练运用线程池是每个Java开发者必备的技能。

    java聊天室,利用线程池实现多用户聊天室

    Java聊天室是一个典型的多用户实时交互系统,它利用了Java的网络编程能力以及并发处理机制,特别是线程池技术,来实现...利用线程池来处理并发请求,可以提高系统的响应速度和稳定性,实现高效、安全的多用户聊天环境。

    Java/Android线程池演示Demo

    在Android和Java应用开发中,线程池是一种重要的并发编程工具,它可以帮助我们高效地管理后台任务,提高系统的响应速度和资源利用率。本Demo主要展示了如何在Java或Android环境中使用线程池,以下是对相关知识点的...

    java线程池实例详细讲解

    Java线程池是一种高效管理线程资源的工具,它能够帮助开发者有效地控制并调度线程,从而提升系统性能,减少系统资源的浪费。...通过深入学习和实践,我们可以更好地利用线程池来优化我们的Java应用程序。

    创建Java程序中线程池的详解

    Java 程序中频繁地创建和销毁线程,会带来很大的性能...总之,线程池是Java并发编程中非常重要的工具,通过合理利用线程池,可以有效地管理线程,提高系统的资源利用率,降低系统的响应时间,提高系统的并发处理能力。

    Java 判断线程池所有任务是否执行完毕的操作

    在 Java 中判断线程池所有任务是否执行完毕是非常重要的操作,我们需要使用 `shutdown()` 和 `isTerminated()` 方法来确保所有任务都已经执行完毕。同时,我们还需要了解 Java 中的安全机制,以保护我们的应用程序。

    Java线程池文档

    `ThreadPoolExecutor`是Java标准库提供的线程池实现,其核心方法`execute()`用于提交任务,它会根据线程池的状态和当前工作线程数量决定是立即执行还是将任务放入队列等待。线程池可以通过`CorePoolSize`(核心线程...

    Java实现的线程池、消息队列功能

    标题中的“Java实现的线程池、消息队列功能”是指在Java编程中,如何利用编程技术实现线程池和消息队列这两种重要的并发处理机制。线程池和消息队列是解决多线程环境下资源管理和任务调度的有效手段,它们在高并发、...

    Java编程中线程池的最大风险规避

    ### Java编程中线程池的最大风险规避 #### 死锁 在Java编程中,线程池带来的一个显著风险就是死锁。死锁是指多个线程因互相等待对方持有的资源而不释放自身资源,导致无限期等待的情况。对于一般的多线程程序而言...

    Java线程池与ThreadPoolExecutor.pdf

    Java线程池是Java并发编程中的重要组成部分,它允许开发者管理多个线程并有效地调度任务。线程池通过ThreadPoolExecutor类实现,...通过调整线程池的参数,可以平衡资源利用率和系统响应时间,从而提高整体的系统效率。

    JAVA线程池例子

    Java线程池是一种高效管理线程资源的技术,它允许开发者创建一组可重用的工作线程,从而避免频繁地创建和销毁线程带来的性能...理解并熟练运用线程池是Java并发编程的关键,能够有效提升系统的并发能力和资源利用率。

    java线程池实例

    Java线程池是一种高效管理线程资源的工具,它通过维护一组可重用的线程来减少创建和销毁线程的开销。在Java中,`java.util.concurrent`包提供了`ExecutorService`接口和它的实现类,如`ThreadPoolExecutor`,来支持...

    java 线程池

    3. **有效控制最大并发数**:通过调整线程池参数,可以有效控制线程的最大并发数,提高系统资源的使用效率。 4. **管理线程**:方便地对线程进行统计、监控和取消。 #### 六、线程池参数配置 创建线程池时,需要...

    java线程池threadpool简单使用源码

    Java线程池(ThreadPool)是Java并发编程中的一个重要概念,它可以帮助我们有效地管理和控制并发执行的任务,从而提高系统的效率和稳定性。线程池通过复用已存在的线程,避免了频繁创建和销毁线程带来的开销,同时也...

    详细分析JAVA 线程池

    线程池是指在程序启动时创建的一组空闲线程,程序可以将Runnable对象或Callable对象传递给线程池,线程池就会启动一个线程来执行Runnable对象或Callable对象的run()或call()方法。 2. 为什么需要线程池? 使用...

Global site tag (gtag.js) - Google Analytics