十二個任務 分給三個線程處理

package day02;java

//實現手動分配測試

public class H {
    private Thread t1;
    private Thread t2;
    private Thread t3;線程

    // 構造方法 初始化線程
    public H() {
        t1 = new Thread(new RunnableA());
        t2 = new Thread(new RunnableB());
        t3 = new Thread(new RunnableC());
    }get

    // 執行方法
    public void test() {
        t1.start();
        t2.start();
        t3.start();
    }class

    // 測試方法
    public static void main(String[] args) {
        H m = new H();
        m.test();
    }test

    // 任務a
    private class RunnableA implements Runnable {
        public void run() {
            System.out.println("A開始");
            runA();
            runB();
            runC();
            runD();
            System.out.println("A結束");
        }
    }import

    // 任務b
    private class RunnableB implements Runnable {
        public void run() {
            System.out.println("B開始");
            runE();
            runF();
            runG();
            runH();
            runI();
            runJ();
            runK();
            System.out.println("B結束");
        }
    }List

    // 任務c
    private class RunnableC implements Runnable {
        public void run() {
            System.out.println("C開始");
            
            runL();
            System.out.println("C結束");
        }
    }線程池

    // 如下爲12個任務內容
    public void runA() {
        System.out.println("xiancheng " + Thread.currentThread().getName() + "在工做");
        System.out.println("A");
    }方法

    public void runB() {
        System.out.println("xiancheng " + Thread.currentThread().getName() + "在工做");
        System.out.println("B");
    }

    public void runC() {
        System.out.println("xiancheng " + Thread.currentThread().getName() + "在工做");
        System.out.println("C");
    }

    public void runD() {
        System.out.println("xiancheng " + Thread.currentThread().getName() + "在工做");
        System.out.println("D");
    }

    public void runE() {
        System.out.println("xiancheng " + Thread.currentThread().getName() + "在工做");
        System.out.println("E");
    }

    public void runF() {
        System.out.println("xiancheng " + Thread.currentThread().getName() + "在工做");
        System.out.println("F");
    }

    public void runG() {
        System.out.println("xiancheng " + Thread.currentThread().getName() + "在工做");
        System.out.println("G");
    }

    public void runH() {
        System.out.println("xiancheng " + Thread.currentThread().getName() + "在工做");
        System.out.println("H");
    }

    public void runI() {
        System.out.println("xiancheng " + Thread.currentThread().getName() + "在工做");
        System.out.println("I");
    }

    public void runJ() {
        System.out.println("xiancheng " + Thread.currentThread().getName() + "在工做");
        System.out.println("J");
    }

    public void runK() {
        System.out.println("xiancheng " + Thread.currentThread().getName() + "在工做");
        System.out.println("K");
    }

    public void runL() {
        System.out.println("xiancheng " + Thread.currentThread().getName() + "在工做");
        System.out.println("L");
    }
}

如下使用線程池

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class ThreadDemo { private ExecutorService pool = Executors.newFixedThreadPool(3); List<Runnable> list; public ThreadDemo(){     list = new ArrayList<Runnable>();     list.add(new RunnableA());     list.add(new RunnableB());     list.add(new RunnableC());     list.add(new RunnableD());     list.add(new RunnableE());     list.add(new RunnableF());     list.add(new RunnableG());     list.add(new RunnableH());     list.add(new RunnableI());     list.add(new RunnableJ());     list.add(new RunnableK());     list.add(new RunnableL()); } public void test(){     for(Runnable r : list){         pool.execute(r);     } pool.shutdown(); } public static void main (String [] args){     ThreadDemo td = new ThreadDemo();     td.test(); } class RunnableA implements Runnable{     public void run(){         System.out.println("xiancheng "+Thread.currentThread().getName()+"在工做");         System.out.println("A");     } } class RunnableB implements Runnable{     public void run(){         System.out.println("xiancheng "+Thread.currentThread().getName()+"在工做");         System.out.println("B");     } } class RunnableC implements Runnable{     public void run(){         System.out.println("xiancheng "+Thread.currentThread().getName()+"在工做");         System.out.println("C");     } }class RunnableD implements Runnable{     public void run(){         System.out.println("xiancheng "+Thread.currentThread().getName()+"在工做");         System.out.println("D");     } } class RunnableE implements Runnable{     public void run(){         System.out.println("xiancheng "+Thread.currentThread().getName()+"在工做");         System.out.println("E");     } } class RunnableF implements Runnable{     public void run(){         System.out.println("xiancheng "+Thread.currentThread().getName()+"在工做");         System.out.println("F");     } } class RunnableG implements Runnable{     public void run(){         System.out.println("xiancheng "+Thread.currentThread().getName()+"在工做");         System.out.println("G");     } } class RunnableH implements Runnable{     public void run(){         System.out.println("xiancheng "+Thread.currentThread().getName()+"在工做");         System.out.println("H");     } } class RunnableI implements Runnable{     public void run(){         System.out.println("xiancheng "+Thread.currentThread().getName()+"在工做");         System.out.println("I");     } } class RunnableJ implements Runnable{     public void run(){         System.out.println("xiancheng "+Thread.currentThread().getName()+"在工做");         System.out.println("J");     } } class RunnableK implements Runnable{     public void run(){         System.out.println("xiancheng "+Thread.currentThread().getName()+"在工做");         System.out.println("K");     } } class RunnableL implements Runnable{     public void run(){         System.out.println("xiancheng "+Thread.currentThread().getName()+"在工做");         System.out.println("L");     } } }

相關文章
相關標籤/搜索