并发测试

来源:互联网 发布:什么是二维数组 编辑:程序博客网 时间:2024/05/16 07:34

1.MyTask

public abstract class MyTask<T> {    protected TaskListner<T> listner;    public abstract void run();    public void setListner(TaskListner<T> listner) {        this.listner = listner;    }    public TaskListner<T> getlistner() {        return listner;    }}

2.TaskListner

public interface TaskListner<T> {    void rusult(T result) throws Exception;}

3.ThreadUtil

import java.util.concurrent.Executors;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.TimeUnit;public class ThreadUtil {    private ThreadUtil() {    }    private final static ScheduledExecutorService scheduledThreadPool = Executors.newScheduledThreadPool(5);    public final static void execute(final MyTask task, int i, TimeUnit unit) {        scheduledThreadPool.schedule(new Runnable() {            @Override            public void run() {                // TODO Auto-generated method stub                task.run();            }        }, i, unit);    }}

4.使用示例:

        //新建任务        MyTask task = new MyTask<String>() {            @Override            public void run() {                // TODO Auto-generated method stub                //----------任务代码---------                for(int i=0;i<10000;i++) {                    System.out.println(grtUtil.createWallet());                }                       //----------任务代码---------                if(this.listner != null) {                    try {                        listner.rusult("执行成功");                    } catch (Exception e) {                        // TODO Auto-generated catch block                        e.printStackTrace();                    }                }            }        };        TaskListner<String> listner = new TaskListner<String>() {            @Override            public void rusult(String result) throws Exception {                // TODO Auto-generated method stub                System.out.println("任务回执:"+result);            }        };        task.setListner(listner);        //执行任务          //task : 任务        //i : 延迟        //unit :时间单位        ThreadUtil.execute(task,1, TimeUnit.MICROSECONDS);
原创粉丝点击