MultiAsynctask

允许多个子线程的Asynctak
授权协议 未知
开发语言 Java
所属分类 手机/移动开发、 手机开发工具
软件类型 开源软件
地区 不详
投 递 者 段干楚青
操作系统 Android
开源组织
适用人群 未知
 软件概览

MultiAsynctask,相当于Asynctak,核心不同。系统的AsyncTask在不同版本的API的并发策略是不同的,在Android4.0以上只能运行一个Asynctask。Multiasynctask可以同时做更多的子线程做的事情。默认为5个,且线程池的线程个数是可以修改的。

使用方式如下,基本和系统API相同:

public class LongAsynctask extends MultiAsynctask<Paramer, Updater, Resulter> {

    @Override
    public void onPrepare() {
    }

    @Override
    public Resulter onTask(Paramer... params) {
        Paramer paramer = params[0];
        Logger.i("onTask打印:" + "what:" + paramer.getWhat() + ";value:" + paramer.getValue());
        for (int i = 0; i < 10; i++) {
            paramer.setValue(paramer.getValue() + 1);
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            Updater updater = new Updater(paramer.getWhat(), paramer.getValue());
            postUpdate(updater);
        }
        return new Resulter(paramer.getWhat(), paramer.getValue());
    }

    @Override
    public void onUpdate(Updater update) {
        Logger.i("onUpdate打印:" + "what:" + update.getWhat() + ";value:" + update.getValue());
    }

    @Override
    public void onResult(Resulter result) {
        Logger.i("onResult打印:" + "what:" + result.getWhat() + ";value:" + result.getValue());
    }
}
 相关资料
  • #include <stdio.h> #include <pthread.h> int a = 0; int b = 0; void *thread1_func(void *p_arg) { while (1) { a++; sleep(1); } } void *thread2_fu

  • Reentry antLock允许线程多次进入资源的锁, 这在执行/效率/功能方面有什么好处? 请参考此链接,https://www.geeksforgeeks.org/reentrant-lock-java/ 我不明白使用内部锁的意义,因为一旦任何线程获得了外部锁,其他线程都不会进入外部锁之后的部分(直到这个线程持有锁的时间),并且确定外部锁之后的部分一次只能由一个线程执行,那么内部锁的意义是什

  • 问题内容: 我在同一文件中有以下程序。我已经同步了run()方法。 输出是 我的问题是,为什么同步方法同时允许“我的线程1”和“我的线程4”线程访问? 问题答案: 方法在实例级别工作。 类的每个实例都有自己的锁。每次输入实例的任何方法都将获取该锁。这样可以防止多个线程 在同一个实例上 调用方法(请注意,这还可以防止在同一个实例上调用 不同的 方法)。 现在,由于您有两个类实例,因此每个实例都有自己

  • 问题内容: 我在PHP中运行一个脚本,该脚本uisng循环为MySQL创建了一个字符串查询。 执行脚本后,出现以下错误: “您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以在’UPDATE BANNERS SET pos = 1 WHERE BID = 5; UPDATE BANNERS SET pos = 2 WHERE BID = 1’附近使用正确的语法。在第2行 在错误

  • 本文向大家介绍允许多个索引器参数?相关面试题,主要包含被问及允许多个索引器参数?时的应答技巧和注意事项,需要的朋友参考一下 参数的个数和类型都是任意的。加分的补充回答:用reflector反编译可以看出,索引器的内部本质上就是set_item、get_item方法。 基础知识: 索引的语法: public string this[string s],通过get、set块来定义取值、赋值的逻辑 索引

  • 问题内容: 如何使用线程和子流程模块产生并行bash流程?当我启动线程时,这里的第一个答案是:如何在Python中使用线程?,bash进程按顺序运行,而不是并行运行。 问题答案: 你不需要线程来并行运行子流程: 为了限制并发命令的数量,可以使用线程并提供与使用进程相同的接口: 该答案演示了限制并发子进程数的各种技术:它显示了,线程+基于队列的解决方案。 你可以限制并发子进程的数量,而无需使用线程/