AsyncTask是个人编写的一个Java异步调用框架,支持以下功能:
1)自定义Task,并可设置Task的类型(Type),子类型(subType),超时时间(TImeout),标识(Flag-可用来区分不同的Task),Task的输入参数(input)等。
2)可通过submitTask,提交到框架中异步执行,框架查找对应的TaskExectuor,多线程执行。
3)可自定义对应TaskExecutor,通过配置添加到框架中。TaskExecutor支持ExecotorChain,多个Executor可以组合在一起顺序执行。并且支持在Task执行过程中,实时通知任务调用者Task的状态,进度等。
4)用户可使用TaskCollector通过TaskManager查询所有的Task,支持按TaskId,TaskType,TaskSubType,TaskState,TaskFlag,TaskbeginTIme,TaskfinishTime等多种方式的组合查询。
5)支持持久化,用户提交的Task可以被存储在数据库中。即使Task在执行过程中被中断,重新启动后会从数据库中恢复后继续执行。
6)用户可通过查询接口可获取Task的引用ITaskReference,通过ITaskReference可实时获取Task的状态(State)和进度Progress。
7)用户可定义Task的FinishedCallBack回调,在SubmitTask时传入,在Task完成后自动回调。
8)通过ITaskReference的waitForTask,支持用户以同步方式使用。
9)用户可通过ITaskReference获取Task的执行结果或错误信息。
代码:https://git.oschina.net/jmpp/AsyncTask
评论