java子线程切换到主线程_GitHub - tuke0919/ThreadSwitch: 一个方便的主线程和子线程之间的线程切换框架...

ThreadSwitch

一个方便的主线程和子线程之间的线程切换框架

使用说明

提交主线程任务

当你在子线程完成了任务,比如查询数据库等,需要切换到主线程,在主线程中操作

WorkerCenter.getInstance().submitMainThreadTask(new ThreadTask() {

@Override

public void onWork() {

//主线程任务

}

});

//主线程延时任务

WorkerCenter.getInstance().submitMainThreadTaskDelay(new ThreadTask() {

@Override

public void onWork() {

//主线程延迟任务

}

},10000);

提交子线程队列任务

子线程执行队列任务,根据提交的先后顺序执行,无任何方式的结果通知

WorkerCenter.getInstance().submitQueneTask(new ThreadTask() {

@Override

public void onWork() {

//子线程队列任务

}

});

//子线程队列延时任务

WorkerCenter.getInstance().submitQueneTaskDelay(new ThreadTask() {

@Override

public void onWork() {

//子线程队列延时任务

}

},10000);

提交子线程任务,同时执行多个子任务

线程池处理提交任务,同时执行。可配置 执行的结果 是在子线程中还是在主线程 执行

WorkerCenter.getInstance().submitNormalTask(new WorkerTask("workTask",true) {

@Override

protected String execute() {

//子线程中执行任务

return "this is a test task for woker";

}

@Override

protected void notifyResult(String result) {

//处理结果,可配置在子线程还是主线程

if(!TextUtils.isEmpty(result)){

Log.e("woker","execute's result is " + result + " 当前执行线程是否为主线程 : " + (Looper.myLooper() == Looper.getMainLooper()) );

}

}

});

提交子线程阻塞任务

提交任务 ,阻塞执行,直到子线程任务执行完成

WorkerCenter.getInstance().submitBlockTask(new ThreadTask() {

@Override

public void onWork() {

//提交线程池 阻塞任务

}

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值