Android实现一套线程依赖、线程同步的方案

背景

最近发现项目中启动优化的代码是直接创建一个线程,然后将一些耗时代码放到该线程中去执行。涉及到启动之后的一些流程分发的耗时任务也是直接创建一个线程去做。

new Thread(new Runnable() {
    @Override
    public void run() {
        //do something
    }
}).start();

开启一个线程本身也需要一些开销。所以项目中需要一个类似于线程池的一个管理工具。
基于这个背景开发这个线程管理工具。

使用介绍

在build.gradle文件中添加依赖:

implementation 'com.wzkui:threadmanager:1.0.4'
测试代码;

首先初始化线程池:

ThreadPoolBuilder builder = new ThreadPoolBuilder().createThreadPool().setName(Constants.ThreadPoolName.BACK_GROUND)
                .createThreadPool().setName(Constants.ThreadPoolName.DEFAULT);
        builder.build();
public class Constants {
    public interface ThreadPoolName {
        public static final String DEFAULT = "default";
        public static final String BACK_GROUND = "backGround";
    }
}

可以指定线程池的名字、线程个数、最大线程个数、队列个数、线程保活时间等。

然后就可以编写如下代码:

private void test() {
        ThreadManager threadManager = ThreadManager.getInstance();
        int i = 10;
        final MyTask myTask10 = new MyTask(i++);
        MyTask task11 = new MyTask(i++);
        MyTask task12 = new MyTask(i++);
        MyTask task13 = new MyTask(i++);
        MyTask task14 = new MyTask(i++);
        MyTask task15 = new MyTask(i++);
        MyTask task16 = new MyTask(i++);
        MyTask task17 = new MyTask(i++);
        MyTask task18 = new MyTask(i++);
        MyTask task19 &#
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值