1. 程式人生 > >執行緒池的使用(Callable介面)

執行緒池的使用(Callable介面)

public class test04CallExecutor {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ExecutorService service = Executors.newFixedThreadPool(2);//包含2個執行緒物件
        //建立Callable物件
        MyCallable c = new MyCallable();

        //從執行緒池中獲取執行緒物件,然後呼叫MyRunnable中的run()
service.submit(c); //再獲取個教練 service.submit(c); service.submit(c); //注意:submit方法呼叫結束後,程式並不終止,是因為執行緒池控制了執行緒的關閉。將使用完的執行緒又歸還到了執行緒池中 //關閉執行緒池 //service.shutdown(); } } class MyCallable implements Callable { @Override public Object call() throws Exception { System.out.println("我要一個教練:call"
); Thread.sleep(2000); System.out.println("教練來了: " +Thread.currentThread().getName()); System.out.println("教我游泳,交完後,教練回到了游泳池"); return null; } }