详情请看:http://www.cnblogs.com/yezhenhan/archive/2012/01/07/2315645.html

引入ExecutorService 类

    private static final ExecutorService executes=Executors.newCachedThreadPool(); 

把需要处理的逻辑代码在放 run里面

需要传入参数 定义变量为final 类型

//定义变量为 final 
final long size = imageFile.getSize(); Runnable runnable = new Runnable() {
public void run() {
//处理代码 }
};
executes.execute(runnable);

使用线程池 基类

/**
* 线程池类
* @ClassName ThreadPools.java
* @Description
* @author caijy
* @date 2015年6月9日 上午10:50:38
* @version 1.0.0
*/
public class ThreadPools {
private ThreadPoolExecutor threadPool;//线程池
private ThreadPools(){
//初始200 最大400
threadPool = new ThreadPoolExecutor(200, 400, 1,
TimeUnit.MICROSECONDS, new LinkedBlockingQueue<Runnable>()); }
private static ThreadPools instance = new ThreadPools();
/**
* 获取线程池的单例对象
* @return
*/
public static ThreadPools getInstance()
{
return instance;
}
/**
* 得到线程池
* @return
*/
public ThreadPoolExecutor getPools(){
return threadPool;
}
/**
* 提交线程
* @param <V>
* @param callable
* @return
* @throws InterruptedException
* @throws ExecutionException
*/
public <V> Future<V> submit(Callable<V> callable) throws InterruptedException, ExecutionException{
return threadPool.submit(callable);
}
/**
* 执行线程
* @param command
*/
public void execute(Runnable command){
threadPool.execute(command);
}
/**
* 关闭线程池
* @throws Exception
*/
public void shutDown() throws Exception{
threadPool.shutdown();
}

使用方式

    //获取线程池
ThreadPools instance=ThreadPools.getInstance();
//拼接文件路劲
final String thumbnailFilePathName = realPath + File.separator + thumbnailPathName;
//拼接文件路劲
final String filePathNameTon = realPath + File.separator + pathName;
final long size = imageFile.getSize();
//保存图片成功后在 来压缩图片
Runnable runnable = new Runnable() {
public void run() {
//处理逻辑 }
};
instance.execute(runnable);

java 异步处理的更多相关文章

  1. Java 异步处理简单实践

    Java 异步处理简单实践 http://www.cnblogs.com/fangfan/p/4047932.html 同步与异步 通常同步意味着一个任务的某个处理过程会对多个线程在用串行化处理,而异 ...

  2. Paip.Php Java 异步编程。推模型与拉模型。响应式(Reactive)”编程FutureData总结... 1

    Paip.Php  Java 异步编程.推模型与拉模型.响应式(Reactive)"编程FutureData总结... 1.1.1       异步调用的实现以及角色(:调用者 提货单) F ...

  3. java异步编程降低延迟

    目录 java异步编程降低延迟 一.ExecutorService和CompletionService 二.CompletableFuture(重要) 三.stream中的parallel(并行流) ...

  4. java 异步机制与同步机制的区别

    所谓异步输入输出机制,是指在进行输入输出处理时,不必等到输入输出处理完毕才返回.所以异步的同义语是非阻塞(None Blocking). 网上有很多网友用很通俗的比喻  把同步和异步讲解的很透彻 转过 ...

  5. OS信号实现Java异步通知

    OS信号实现Java异步通知本文将结合操作系统的信号机制,来尝试实现一个简单的,不依赖功能环境的Java异步通知功能.没有特殊说明,本文所有的示例,都是基于Linux.信号简介信号是在软件层次上对中断 ...

  6. 终于可以愉快的撸Java异步代码了!

      异步响应式编程可以极大的提高系统的并发呑吐量,但由于Java没有类似于其他语言的Async/Await机制,所以只能通过CompletableFuture.thenXXX()来串联各个异步任务,这 ...

  7. 说说Java异步调用的几种方式

    日常开发中,会经常遇到说,前台调服务,然后触发一个比较耗时的异步服务,且不用等异步任务的处理结果就对原服务进行返回.这里就涉及的Java异步调用的一个知识.下面本文尝试将Java异步调用的多种方式进行 ...

  8. Java 异步编程 (5 种异步实现方式详解)

    ​ 同步操作如果遇到一个耗时的方法,需要阻塞等待,那么我们有没有办法解决呢?让它异步执行,下面我会详解异步及实现@mikechen 目录 什么是异步? 一.线程异步 二.Future异步 三.Comp ...

  9. [译] MongoDB Java异步驱动快速指南

    导读 mongodb-java-driver是mongodb的Java驱动项目. 本文是对MongoDB-java-driver官方文档 MongoDB Async Driver Quick Tour ...

  10. Java异步消息平台

    l  JAVA平台异步消息模块 JAVA平台异步消息模块,是一个针对RabbitMQ的消息发送及处理封装,包含消息的配置.发送.接收.失败重试.日志记录等,总共分为4个部分: 1)RabbitMQ访问 ...

随机推荐

  1. JSPatch使用小记

    hotfix的作用众所周知,Android和iOS都有各自的技术,但是相比Android的当天发布来说(如果你们的项目不需要灰度),iOS热更新的意义更加重大.因为iOS审核周期长不说,而且运气不好会 ...

  2. 了解HTML CSS布局(层叠样式表)

    CSS全称为"层叠样式表(Cascading Style Sheets)", 它主要是用于定义HTML内容在浏览器内显示的样式, 比如文字, 颜色, 视觉上的静态效果, 布局等等. ...

  3. iOS---友盟推送遇到的坑

    生产证书无效  很有可能  是你的证书上传的不对 开发证书  对应我们测试环境的推送P12文件 生产证书   对应我们线上环境的推送P12文件 device Token  无效  有可能是你的证书不对 ...

  4. 我的第一个React Native App

    我用了三天时间实现了一个相对比较完整的React Native 新闻发布类型的示例.应用做得很简单,但大多React Native的组件都有用到,今天做一个分享(由于我电脑是Windows系统,所以只 ...

  5. Linux Tomcat 6.0安装配置实践总结

    系统环境: Red Hat Enterprise Linux Server release 5.7 (Tikanga)  64位 Tomcat下载 从官方网站 http://tomcat.apache ...

  6. SQL SERVER CHAR ( integer_expression )各版本返回值差异的案例

    我们都知道CHAR(integer_expression)将ASCII代码转换为字符.当integer_expression介于 0 和 255 之间的整数.如果该整数表达式不在此范围内,将返回 NU ...

  7. 问题解决——MFC error RC2170: bitmap file res\XXXXXXX.png is not in 3.00 format

    =================================版权声明================================= 版权声明:原创文章 谢绝转载  请通过右侧公告中的“联系邮 ...

  8. linux yum 工具

    vim /etc/yum.repos.d/CentOS-Base.repo 编辑yum 源网址 yum list |grep vim查看vim 情况 yum remove 卸载rpm包 # yum u ...

  9. CentOS 7 恢复 Windows 启动项

    安装Linux时一般会自动识别windows系统并添加引导项,而 CentOS 默认不支持 NTFS 分区,CentOS7采用了Grub2,与CentOS6有区别.手动引导windows分区修改配置稍 ...

  10. sqlserver如何创建镜像图文教程(转)

    由于工作中需要做SQL的镜像异地备份,以前都没有研究过,百度了一个文章记录下,方便以后查询 转载地址:http://jingyan.baidu.com/article/d5c4b52b20843fda ...