首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

用线程调用步骤

2012-10-09 
用线程调用方法?package nkc.utilimport java.util.concurrent.Callableimport java.util.concurrent.Ex

用线程调用方法

?

package nkc.util;import java.util.concurrent.Callable;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Future;public class ExcutorUtil {    private static ExcutorUtil util;    //线程池数量    private final int POOL_SIZE = 20;    //线程池    private static ExecutorService executorService;    private ExcutorUtil() {        executorService = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() * POOL_SIZE);    }    public synchronized void execute(Runnable task) {        executorService.execute(task);    }    public synchronized Future<?> submit(Callable<?> task) {        Future<?> f = executorService.submit(task);        return f;    }    public static synchronized ExcutorUtil getSingleInstance() {        if (util == null) {            util = new ExcutorUtil();        }        return util;    }    public static void main(String[] args) {        int index = 1;        while (true) {            test(index++);        }    }    public static void test(final int index) {        ExcutorUtil service = ExcutorUtil.getSingleInstance();        service.execute(new Runnable() {            public void run() {                try {                    Thread.sleep(5 * 1000);                    System.out.println(" Thread :" + index);                } catch (InterruptedException e) {                    e.printStackTrace();                }            }        });    }}

调用多线程

?

public static synchronized void nkc(final String userId,final String version) {ExcutorUtil excutorService = ExcutorUtil.getSingleInstance();excutorService.execute(new Runnable() {public void run() {nkccall();
}});}

热点排行