当前位置: 首页 > 软件库 > 程序开发 > 网络工具包 >

AsynTask

Java异步调用框架
授权协议 Apache
开发语言 Java
所属分类 程序开发、 网络工具包
软件类型 开源软件
地区 国产
投 递 者 郗奇玮
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

AsyncTask 是个人编写的一个 Java 异步调用框架,支持以下功能:

1)自定义 Task,并可设置Task的类型(Type), 子类型(subType),超时时间(TImeout),标识(Flag- 可用来区分不同的 Task),Task 的输入参数(input)等。

2)可通过 submitTask,提交 到框架中异步执行,框架查找对应的 TaskExectuor,多线程执行。

3)可自定义对应 TaskExecutor,通过配置添加到框架中。TaskExecutor 支持 Execotor Chain, 多个 Executor 可以组合在一起顺序执行。并且支持在 Task 执行过程中,实时通知任务调用者 Task 的状态,进度等。

4)用户可使用 TaskCollector 通过 TaskManager 查询所有的 Task,支持按 Task Id,Task Type, Task SubType, Task State, Task Flag, Task beginTIme, Task finishTime 等多种方式的组合查询。

5)支持持久化,用户提交的 Task 可以被存储在数据库中。即使 Task 在执行过程中被中断,重新启动后会从数据库中恢复后继续执行。

6)用户可通过查询接口可获取 Task 的引用 ITaskReference,通过 ITaskReference 可实时获取 Task 的状态(State)和进度 Progress。

7)用户可定义 Task 的 FinishedCallBack 回调,在 Submit Task 时传入,在 Task 完成后自动回调。

8)通过 ITaskReference 的 waitForTask,支持用户以同步方式使用。

9)用户可通过 ITaskReference 获取 Task 的执行结果或错误信息。

代码:https://gitee.com/jmpp/AsyncTask

  • AsynTask封装了子线程,可以直接用来处理耗时操作。 AsyncTask<Params,Progress,Result>是个抽象类,使用时需要继承这个类,然后调用execute()方法。 使用三板斧: 1创建AsyncTask的子类,并为三个范型Params,Progress,Result(巧记:启动任务,任务执行中,任务执行完)指定类型。不需要指定置为void。 2根据需要实现下列方法,其中

  • AsynTask 1. AsynTask的概述 Asyntask是Android提供的轻量级的异步任务类,用于处理一些耗时操作。 2. AsynTask参数和重写函数 2.1 AsynTask参数 public abstract class AsyncTask<Params, Progress, Result> {} 三种泛型类型分别代表“启动任务执行的输入参数”、“后台任务执行的进度”、“后台计

  • package com.example.nm.myapplication; import android.graphics.Bitmap; import android.os.AsyncTask; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.Lis

  • 介绍: AsyncTask是一种轻量级的异步任务类,可以在后台线程池中执行后台的任务,然后把执行的进度和最终的结果传递给主线程并在主线程中更新UI。从实现上来说,AsyncTask封装了Thread和Handler。但它并不适合特别耗时的任务,对于特别耗时的任务应该使用线程池。 它是一个泛型抽象类,Params表示参数的类型,Progress表示后台任务进度的类型,而Result表示结果的返回类。

  •   1.asynctask是Android为我们封装的一个异步线程调用的类;首先我们看一下它的简单使用 public class HandleActivity extends AppCompatActivity { public static final int MSG_CODE = 0; public static final int MSG_CODE2 = 1; pub

  • 除了我们常用的Handler进行耗时操作,最后更新到UI线程中,虽然Handler比较简单,但是如果有多个任务同时执行代码就会增多。所以我们可以使用一下AsynTask,它使得异步任务实现起来更加简单。 首先我们介绍一下如何使用: 我在这里实现了一个进度条的加载 //首先需要继承AsynTask这个抽象类,并指定三个参数类型 class MyTask extends AsyncTask<Strin

  • 简介 AsynTask方便在后台线程中执行操作,然后将结果发给主线程,从而在主线程更新UI,无需关心Thread和Handler;AsynTask只能执行短暂的后台任务,如果需要执行长时间耗时任务,推荐使用java.util.concurrent包中的ThreadPoolExecutor;使用AsynTask至少要重写doInBackground方法,和经常用来更新UI的onPostExecute

  • android提供了一套专门用于异步处理的类。即:AynsTask类。使用这个类可以为耗时程序开辟一个新线程进行处理,处理完时返回。   其实,AsynTask类就是对Thread类的一个封装,并且加入了一些新的方法。编程时,两者都可以实现同样的功能。本文后面将对AsynTask和Thread进行比较。   1、AsynTask类结构   asysTask类主要用到的几个内部回调函数有: doIn

  • 之所以需要异步任务,因为当进行一些耗时操作在主线程时,超过20秒会引起ANR(所谓application not respond)异常。 安卓中已经封装好了一个异步处理的方法,即AsyncTask。 AsyncTask <Params,Progress,Result> //是一个抽象类 //Params:启动任务输入参数的类型 //Progress:后台任务完成进度值的类型 //Result:后

  •           AsynTask只要几个方法, onPreExecute() 该方法将在执行实际的后台操作前被UI thread调用。这个方法只是做一些准备工作,如在界面上显示一个进度条。 doInBackground(Params...), 将在onPreExecute 方法执行后马上执行,该方法运行在后台线程中。这里将主要负责执行那些很耗时的后台计算工作。 publishProgress

  • 首先讲一下Java中的线程, 通常情况下,我们线程操作都是 Thread + Runnable, 而Runnable是没有返回值的 public class FutureTask<V> implements RunnableFuture<V> 复制代码 FutureTask类的继承 public interface RunnableFuture<V> extends Runnable, Futur

  • 基本的参考 : http://www.cnblogs.com/devinzhang/archive/2012/02/13/2350070.html http://www.cnblogs.com/dawei/archive/2011/04/18/2019903.html 深入的: http://blog.csdn.net/pipisky2006/article/details/8535454 htt

 相关资料
  • 本文向大家介绍JavaScript 异步调用,包括了JavaScript 异步调用的使用技巧和注意事项,需要的朋友参考一下 问题 可修改下面的 aa() 函数,目的是在一抄后用 console.log() 输出 want-value 但是,有额外要求: aa() 函数可以随意修改,但是不能有 console.log() 执行 console.log() 语句里不能有 setTimeout 包裹 解

  • Provider端异步执行将阻塞的业务从Dubbo内部线程池切换到业务自定义线程,避免Dubbo线程池的过度占用,有助于避免不同服务间的互相影响。异步执行无益于节省资源或提升RPC响应性能,因为如果业务执行需要阻塞,则始终还是要有线程来负责执行。 注意:Provider端异步执行和Consumer端异步调用是相互独立的,你可以任意正交组合两端配置 Consumer同步 - Provider同步 C

  • 从v2.7.0开始,Dubbo的所有异步编程接口开始以CompletableFuture为基础 基于 NIO 的非阻塞实现并行调用,客户端不需要启动多线程即可完成并行调用多个远程服务,相对多线程开销较小。 使用CompletableFuture签名的接口 需要服务提供者事先定义CompletableFuture签名的服务,具体参见服务端异步执行接口定义: public interface Asyn

  • 我刚刚更新了 Play!框架到版本 2.1 和 scala 到版本 2.10... 现在我的游戏!应用程序已损坏。似乎Akka API已经发生了变化。我找不到现在使用的阿卡版本,但我认为这是最后一个版本...... 我刚刚阅读了迁移指南:http://doc.akka.io/docs/akka/2.1.0/project/migration-guide-2.0.x-2.1.x.html。 我相应地

  • 同步调用异步方法最安全的方法是什么?

  • 问题内容: 我正在尝试使用Okhttp库通过API将我的Android应用程序连接到服务器。 单击按钮就会发生我的API调用,并且我收到以下 android.os.NetworkOnMainThreadException 。我了解这是由于我正在尝试在主线程上进行网络调用,但是我也正努力在Android上寻找一种干净的解决方案,以使该代码如何使用另一个线程(异步调用)。 上面是我的代码,并且在行上抛

  • 我有一个由S3推送事件触发的AWS Lambda。lambda将调用一个API,这将触发一个长时间运行的进程。我认识到我可以配置S3异步调用lambda函数,因此S3不会等待响应,但我很想知道我是否可以配置lambda异步调用我的API。我不希望lambda在过程完成时等待几分钟。有人能给我指出一些概述这个过程的留档吗?提前谢谢。

  • 问题内容: 首先,这是一个非常特殊的情况,它以错误的方式故意将异步调用改型为一个非常同步的代码库,该代码库长成千上万行,并且当前时间不具备进行更改的能力。对的。” 它伤害了我的每一个生命,但是现实和理想往往并没有相互融合。我知道这很糟糕。 好的,顺便说一句,我该如何做,这样我可以: 示例(或缺少示例)全部使用库和/或编译器,这两种库均不适用于此解决方案。我需要一个如何使其冻结的具体示例(例如,在调