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中线程池与任务队列的概念、工作原理以及它们如何协同工作。 线程池(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线程池案例"提供了这样的示例,用于演示如何在Android应用程序中有效地使用线程池,并结合进度条来显示任务的执行状态。 线程池的核心概念包括: 1. **ExecutorService**: Java的`ExecutorService`接口是...
Android Handler模拟线程池并发下载网络图片实现照片墙
在IT领域,线程池是一种优化资源管理的技术,它通过预先创建并维护一组线程来提高多线程程序的效率。线程池可以避免频繁地创建和销毁线程带来的开销,提供了一种灵活的方式来调度任务,使得系统能更好地应对高并发...
在Android开发中,线程池是一种管理线程的机制,它可以帮助我们更高效地调度并发任务,优化系统资源的使用,防止过多线程导致的系统性能下降或崩溃。本篇文章将深入探讨四种主要的线程池类型及其实现,旨在帮助...
在Android和Java应用开发中,线程池是一种重要的并发编程工具,它可以帮助我们高效地管理后台任务,提高系统的响应速度和资源利用率。本Demo主要展示了如何在Java或Android环境中使用线程池,以下是对相关知识点的...
在Android开发中,Java线程池是一个至关重要的概念,它能有效地管理多个并发任务,提高应用性能并降低资源消耗。线程池通过复用已创建的线程来避免频繁创建和销毁线程带来的开销,从而提升系统效率。在本教程中,...
本文将深入探讨`Android Executor`线程池的工作原理、优势以及如何在实际开发中使用。 一、`Executor`线程池简介 `Executor`框架是Java并发编程的重要组成部分,由`java.util.concurrent`包提供。它提供了一种更加...
Android-OkHttpLib是Android应用开发中进行网络通信的一个优秀选择,它结合了OkHttp的强大功能和自定义的线程池调度,提供了一套完整的解决方案,尤其适合需要处理大量并发请求和大文件上传的场景。通过深入理解和...
Android编程自定义线程池与用法示例 Android编程自定义线程池与用法示例主要介绍了Android编程自定义线程池与用法,结合实例形式分析了Android线程池的功能、定义及简单使用方法。下面将详细说明标题和描述中所说的...