import java.io.Serializable;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
public class Mian1 {
/**
* @param args
*/
private static int produceTaskSleepTime = 2;
private static int consumeTaskSleepTime = 2000;
private static int produceTaskMaxNumber = 30;
public static void main(String[] args) {
// TODO Auto-generated method stub
ThreadPoolExecutor threadPool = new ThreadPoolExecutor(4, 4, 3, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>(),new ThreadPoolExecutor.DiscardOldestPolicy());
for(int i=1;i<=produceTaskMaxNumber;i++){
String task ="task@"+i;
System.out.println("put" +task);
threadPool.execute(new ThreadPoolTask(task));
try {
Thread.sleep(produceTaskSleepTime);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println("1111111111");
}
public static class ThreadPoolTask implements Runnable, Serializable {
private static final long serialversionUID = 0;
private Object threadPoolTaskData;
public ThreadPoolTask(Object tasks) {
this.threadPoolTaskData = tasks;
}
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("start.." + threadPoolTaskData);
try {
Thread.sleep(consumeTaskSleepTime);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
threadPoolTaskData = null;
}
public Object getTask(){
return this.threadPoolTaskData;
}
}
}
分享到:
相关推荐
在Android开发中,线程池是一种管理线程资源的有效方式,它可以提高应用程序的性能和响应速度,尤其是在处理大量并发任务时。线程池通过复用已存在的线程而不是每次需要时都创建新线程,降低了系统资源的消耗,提高...
"android缓存线程池的一个框架" 提供了一种解决方案,旨在优化后台任务处理,确保UI的流畅响应,并减少资源消耗。这个框架利用了线程池的概念,这是一种在多线程编程中常用的并发控制机制。 线程池(ThreadPool)是...
在Android应用开发中,线程池的使用是提高性能和优化资源管理的重要手段。线程池允许我们预先创建一定数量的线程,处理并发任务,而不是每次需要时都创建新线程,这样可以减少系统资源的消耗,提高响应速度。本示例...
2. **ExecutorService**:在Android中,我们可以使用`java.util.concurrent.ExecutorService`接口来创建和管理线程池。`ExecutorService`提供了调度和执行任务的能力,包括控制并发级别、处理线程异常等。 3. **...
在Android开发中,线程池是一种非常重要的技术,它用于管理多个并发执行的任务,提高应用程序的性能和响应性。本文将深入探讨`android线程池`的概念、工作原理以及如何在实际项目中实现一个简单的应用。 ### 线程池...
android线程池管理工具类,用来管理线程的一些操作,避免重复new线程造成的资源浪费
本示例将详细介绍如何在Android中使用两种主要的线程池:ThreadPoolExecutor和ScheduledExecutorService。 ThreadPoolExecutor是Java并发库中提供的一个基础线程池实现,它允许开发者自定义核心线程数、最大线程数...
在Android应用中,正确地使用线程池可以显著提高应用程序的性能和响应性,避免因大量并发任务导致的系统资源过度消耗。 1. **线程池的概念** 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建...
在Android中,我们可以使用`java.util.concurrent`包下的`ExecutorService`和`ThreadPoolExecutor`来创建线程池。`ExecutorService`是线程池的接口,而`ThreadPoolExecutor`是它的具体实现,提供了更灵活的配置选项...
ThreadPoolExecutor的使用和Android常见的4种线程池使用介绍
在Android中,我们通常使用`java.util.concurrent`包下的`ExecutorService`和`ThreadPoolExecutor`来创建线程池。线程池可以避免频繁创建和销毁线程带来的性能开销,提高系统资源的利用率。通过合理配置线程池的参数...
Android Handler模拟线程池并发下载网络图片实现照片墙
在IT领域,线程池是一种优化资源管理的技术,它通过预先创建并维护一组线程来提高多线程程序的效率。线程池可以避免频繁地创建和销毁线程带来的开销,提供了一种灵活的方式来调度任务,使得系统能更好地应对高并发...
在Android开发中,线程池是一种管理线程的机制,它可以帮助我们更高效地调度并发任务,优化系统资源的使用,防止过多线程导致的系统性能下降或崩溃。本篇文章将深入探讨四种主要的线程池类型及其实现,旨在帮助...
在Android和Java应用开发中,线程池是一种重要的并发编程工具,它可以帮助我们高效地管理后台任务,提高系统的响应速度和资源利用率。本Demo主要展示了如何在Java或Android环境中使用线程池,以下是对相关知识点的...
本文将深入探讨`Android Executor`线程池的工作原理、优势以及如何在实际开发中使用。 一、`Executor`线程池简介 `Executor`框架是Java并发编程的重要组成部分,由`java.util.concurrent`包提供。它提供了一种更加...
Android-OkHttpLib是Android应用开发中进行网络通信的一个优秀选择,它结合了OkHttp的强大功能和自定义的线程池调度,提供了一套完整的解决方案,尤其适合需要处理大量并发请求和大文件上传的场景。通过深入理解和...
在Android开发中,高效地管理线程是提升应用程序性能的关键因素之一。Kotlin作为一种现代、简洁的编程语言,被广泛应用于Android开发,为开发者提供...通过研究和实践,我们可以进一步提升在Android开发中的专业能力。
综上所述,图片异步加载结合线程池、回调和动画是Android应用中提高用户体验的重要手段。通过合理设计和实现,我们可以创建出运行流畅、视觉效果出色的图片加载功能。在压缩包提供的`AsyncCallback`文件中,可能包含...
本项目涉及了三个核心概念:线程池、单例模式和WebService,这些都是Android应用开发中的重要知识点。 首先,让我们来深入理解线程池。线程池是一种多线程处理形式,预先创建了多个线程,当需要执行任务时,直接从...