使用京东【asyncTool】实现线程并发处理

并行常见的场景

1、并行执行多个任务;

创建工作线程任务:

package org.itdgz.asynctool;

import com.jd.platform.async.callback.ICallback;
import com.jd.platform.async.callback.IWorker;
import com.jd.platform.async.executor.timer.SystemClock;
import com.jd.platform.async.worker.WorkResult;
import com.jd.platform.async.wrapper.WorkerWrapper;

import java.util.Map;

public class ParWorker implements IWorker<String, String>, ICallback<String, String> {
   
   
    @Override
    public String action(String s, Map<String, WorkerWrapper> map) {
   
   
        try {
   
   
            Thread.sleep(1000);
        } catch (InterruptedException e) {
   
   
            e.printStackTrace();
        }
        return "result = " + SystemClock.now() + "---param = " + s + " from 0";
    }

    @Override
    public String defaultValue() {
   
   
        return "worker--default";
    }

    @Override
    public void begin() {
   
   

    }

    @Override
    public void result(boolean b, String s, WorkResult<String> workResult) {
   
   
        if (b) {
   
   
            System.out.println("callback worker success--" + SystemClock.now() + "----" + workResult.getResult()
                    + "-threadName:" +Thread.currentThread().getName());
        } else {
   
   
            System.err.println("callback worker failure--" + SystemClock.now() + "----"  + workResult.getResult()
                    + "-threadName:" +Thread.currentThread().getName());
        }
    }
}

编排任务:

/**
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值