多线程练习

package shizhan;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;

public class CopyTest {
    public static void main(String[] a) throws Exception{
        ExecutorService threadPool = Executors.newFixedThreadPool(5);

        for(int i = 0; i < 10; i++){
            AccumRunnable task = new AccumRunnable(1, 10);
            threadPool.execute(task);
        }
        threadPool.shutdown(); // 向线程池发送关闭的指令,等到已经提交的任务都执行完毕之后,线程池会关闭
        threadPool.awaitTermination(1, TimeUnit.HOURS); // 等待线程池关闭,等待的最大时间为 1 小时
    }
}
class AccumRunnable implements Runnable  {
    private final int a;
    private final int b;
    public AccumRunnable(int a, int b){
        this.a = a;
        this.b = b;
    }

    @Override
    public void run()  {
        try {
            Thread.sleep(100);
            System.out.println(Thread.currentThread().getName() + "业务逻辑");
        }catch (Exception e){
            e.printStackTrace();
        }
    }

}

 

你可能感兴趣的:(多线程)