`
yaozhiqiang109
  • 浏览: 119471 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

多线程ExecutorService使用实例

    博客分类:
  • JAVA
 
阅读更多

 

 

public interface ListCollectionCallback<E extends Object> {
	public void call(List<E> collection);
}

 

 

实现Runnable,处理业务逻辑

 

public class ProcessDataFutureCallable implements Runnable {

	@Override
	public void run() {
		//处理业务逻辑
	}

}

  多线程异步处理业务,通过future同步返回

 

 

	final List<Future<?>> dataList = new ArrayList<Future<?>>();	
        final ExecutorService exePool = Executors.newFixedThreadPool(threadNum);
		ListCollectionCallback<String> callable = new ListCollectionCallback<String>() {
			@Override
			public void call(List<String> collection) {
				ProcessDataFutureCallable future=new ProcessDataFutureCallable();
				dataList.add(exePool.submit(future));
			}
		};
		//剥离业务调用callable
		CollectionUtils.splitCollectionHandle(callable);
		for (Future<?> future : dataList) {
			try {
				future.get();
			} catch (InterruptedException e) {
				logger.warn("线程异常中断", e);
			} catch (ExecutionException e) {
				logger.warn("线程异常中断", e);
			} catch (Exception e) {
				logger.warn("发生异常", e);
			}
		}
		exePool.shutdown();

 

 

 

分享到:
评论

相关推荐

    多线程教程+实例讲解

    六、多线程实例讲解 1. 文件读写:多线程可以提高文件读写的并发性,比如在处理大量文件时,每个线程处理一个文件。 2. 数据库操作:数据库连接通常昂贵且有限,多线程可以有效利用连接池,提高查询和更新速度。 3. ...

    多线程安全退出实例源代码

    通过"ThreadSafeExit"这个实例,我们可以学习如何在实际编程中应用上述策略,确保多线程环境下的资源管理和安全退出。具体源码分析可能包括对线程状态的监控、异常处理、资源释放等步骤,这将帮助开发者更好地理解和...

    java多线程编程实例_Source

    实例将演示如何在多线程环境中正确使用这些集合。 五、线程安全问题 实例中可能涵盖常见线程安全问题,如数据竞争、死锁、活锁和饥饿,以及如何通过使用volatile、Atomic变量、线程局部变量(ThreadLocal)等手段来...

    Java多线程编程实例

    总的来说,“Java多线程编程实例”这本书涵盖了Java多线程编程的各个方面,从基础概念到高级用法,包括线程创建、同步机制、线程池、线程通信以及并发工具类的使用,都是现代Java开发者必备的知识。虽然年代久远,但...

    多线程应用实例

    本文将深入探讨“多线程应用实例”这一主题,旨在帮助读者理解和掌握多线程的相关知识点。 首先,我们要理解什么是多线程。在单线程程序中,所有的任务都是顺序执行的,而多线程则允许多个任务同时进行,提高了程序...

    简单多线程实例简单多线程实例简单多线程实例

    本文将深入探讨“简单多线程实例”,旨在帮助你理解并掌握如何在实际项目中运用多线程。 多线程是指在一个程序内同时运行多个线程,每个线程都独立地执行自己的任务。在Java、Python、C++等编程语言中,都有内置的...

    JAVA多线程的实例

    Java多线程是Java编程中的重要概念,它允许程序同时执行多个任务,提高了程序的效率和响应性。在Java中,实现多线程有两种主要方式:通过实现`Runnable`接口或者继承`Thread`类。 首先,让我们从创建线程开始。当你...

    在spring boot中使用java线程池ExecutorService的讲解

    在上面的代码中,我们创建了一个线程池配置类,使用 @Bean 注解创建了一个线程池实例,该实例具有 5 个核心线程,10 个最大线程,闲置线程存活 60 秒,使用 ArrayBlockingQueue 作为任务队列。 总结 在 Spring ...

    《Java多线程编程实例》随书源码

    《Java多线程编程实例》这本书深入浅出地探讨了Java中的多线程编程,通过丰富的实例帮助读者理解和掌握这一复杂主题。随书源码提供了实际操作的机会,以便读者能够亲手实践书中的示例,加深理解。 1. **线程创建...

    java socket多线程文件传输实例项目

    Java Socket多线程文件传输实例项目是一个典型的网络编程应用场景,主要涉及了Socket编程、多线程处理以及文件I/O操作等关键知识点。在这个项目中,开发者利用Java的Socket API实现了一个能够支持多个客户端同时进行...

    多线程实例+源代码

    1. **Java多线程基础**:Java提供了多种方式创建线程,如继承Thread类、实现Runnable接口以及使用ExecutorService。理解这些创建线程的方法及其优缺点是学习多线程的基础。 2. **线程生命周期**:线程有新建、就绪...

    java多线程的讲解和实战

    8. **并发集合类**:Java提供了并发安全的集合类,如`ConcurrentHashMap`, `CopyOnWriteArrayList`, `BlockingQueue`等,它们内部实现了线程安全的算法,可以在多线程环境下高效使用。 9. **线程中断**:`interrupt...

    java多线程测试实例

    Java多线程是Java编程中的重要组成部分,尤其在并发编程领域,它扮演着...这个"java多线程测试实例"可能包含了上述部分或全部知识点的实际应用,通过下载并分析实例代码,可以加深对Java多线程编程的理解和实践能力。

    人工智能-项目实践-多线程-Java多线程高并发实例.zip

    总之,这个项目实例旨在帮助开发者掌握Java多线程技术,提升处理高并发场景的能力,这对于在人工智能领域进行大数据处理和实时计算的项目尤其重要。通过对这些实例的学习和实践,你将能够更好地驾驭Java并发编程,为...

    某电信项目多线程同步数据实例

    "某电信项目多线程同步数据实例"的标题揭示了一个具体的应用案例,它表明在该电信项目中,开发团队使用了多线程技术来高效地同步和处理数据。描述中提到的“经生产测试,一分钟同步数据量20W”,这展示了该技术方案...

    Java多线程实现异步调用实例

    在本实例中,我们将深入探讨如何使用Java实现多线程以实现异步调用,并理解其背后的机制。 首先,多线程允许一个程序同时执行多个任务。在Java中,我们可以通过继承`Thread`类或实现`Runnable`接口来创建线程。在这...

    JAVA 多线程讲解及实例

    Java多线程是Java编程中的核心概念,它允许程序同时执行多个任务,极大地提升了软件的效率和性能。在现代计算环境中,多线程已经成为必备的技能,尤其在服务器端编程、高并发应用以及实时系统中,多线程的运用更是至...

    多线程经典例子

    文件名"多线程"可能是一个包含多个多线程编程实例的代码文件集合,里面可能包含了上述各种应用场景的示例代码,有助于学习和理解多线程编程的实际操作。 总结来说,多线程编程是提高程序效率、实现并发处理的重要...

    JAVA100例之实例60 继承Thread实现多线程

    总之,通过继承`Thread`类创建多线程是Java中一种常见的实现方式,但也有其他方式,比如实现`Runnable`接口或使用`ExecutorService`。每种方法都有其适用场景,开发者应根据需求选择合适的方式。在实际编程中,了解...

    java多线程实例 代码可执行 绝对开源

    在本实例中,我们探讨的焦点是如何利用Java的多线程特性来实现网络资源的高效下载并进行合并。 首先,Java多线程允许程序同时执行多个任务,这通过创建并运行多个线程来实现。在Java中,可以通过继承Thread类或实现...

Global site tag (gtag.js) - Google Analytics