<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ゞ沉默是金ゞ

    魚離不開水,但是沒有說不離開哪滴水.
    posts - 98,comments - 104,trackbacks - 0
    Future<T> submit(Callable<T> c)
    Today in next part of the series we will talk about submission of callable task via executor service. 

    As per JAVA version 6.0, ExecutorService Interface has following method -
    Future< T >  submit( callable c )
    1. Submits a Callable task for execution and returns a Future representing that task computation.
    2. Future< T > will return T on successful completion of the process, otherwise result will not be T.
    Lets start with Callable task - As we  know that Callable<T> interface has following method - public T call()
    So when we say - ExecutorService.submit(Callable Task) --> It starts a new stack starting with call method of callable task, as call method can return T so does future object. Due to this reason the signature of submit(Callable c) is Future< T >.
    T --> means anything that extends Object.
    package com.jovialjava.blog.threads;

    import java.util.concurrent.Callable;
    import java.util.concurrent.ExecutionException;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    import java.util.concurrent.Future;


    public class CallableExample {

        
    private static final ExecutorService executorPool=Executors.newFixedThreadPool(2);
        
        
    public static void main(String[] args) {
            CallableTask_1 task_1 
    = new CallableTask_1();
            CallableTask_2 task_2 
    = new CallableTask_2();
            
            
    /**
             * Submit the first task
             
    */
            Future
    <Boolean> fut_1 = executorPool.submit(task_1);
            Future
    <Boolean> fut_2 = executorPool.submit(task_2);
            
            
    try{
                
    if(fut_1.get()){
                    System.out.println(
    "TASK 1 completed SUCCESSFULLY");
                }
                
    if(fut_2.get()){
                    System.out.println(
    "TASK 2 completed SUCCESSFULLY");
                }
            }
    catch(ExecutionException e){            
                System.out.println(e.getMessage());
            }
    catch(InterruptedException e){
                System.out.println(e.getMessage());
            }
    finally{
                
    /**====VERY IMPORTANT===
                 * This is required to stop the executor pool to
                 * stop accepting new request.
                 
    */
                executorPool.shutdown();
            }

        }

        
        
    /**
         * This task will complete successfully
         
    */
        
    public static class CallableTask_1 implements Callable<Boolean>{
            
    public Boolean call()throws NullPointerException{
                System.out.println(
    "Hi, Inside Callable Task 1");
                
    return true;
            }        

        }
        
        
    /**
         * This task will result in error.
         
    */
        
    public static class CallableTask_2 implements Callable<Boolean>{
            
    public Boolean call()throws NullPointerException{
                System.out.println(
    "Hi, Inside Callable Task 2");
                
    throw new IllegalStateException("Callable Task Exception");
            }        

        }
    }
    posted on 2012-08-06 10:35 ゞ沉默是金ゞ 閱讀(797) 評論(0)  編輯  收藏 所屬分類: Java SE
    主站蜘蛛池模板: 亚洲国产精品yw在线观看| 亚洲综合色自拍一区| 亚洲一区中文字幕在线电影网| 精品免费tv久久久久久久| 亚洲热妇无码AV在线播放| 国产免费一区二区三区免费视频 | 久久精品国产精品亚洲人人| 麻豆91免费视频| 国产亚洲精久久久久久无码AV| 岛国精品一区免费视频在线观看| 中文亚洲成a人片在线观看| 国产精品网站在线观看免费传媒 | 在线91精品亚洲网站精品成人| 波多野结衣中文一区二区免费| 人人爽人人爽人人片A免费| 国产亚洲老熟女视频| 久久久久成人精品免费播放动漫| 在线观看亚洲人成网站| 成人A级毛片免费观看AV网站| 国产成人亚洲精品蜜芽影院| 亚洲中文字幕无码爆乳av中文 | 久久精品视频免费| 亚洲啪啪免费视频| 国产免费av一区二区三区| 国产无遮挡色视频免费观看性色| 亚洲欧洲免费视频| 在线日韩av永久免费观看| 黄色短视频免费看| 亚洲卡一卡二卡乱码新区| 亚洲中文字幕伊人久久无码| 国产午夜免费高清久久影院| 亚洲Av高清一区二区三区| 免费二级毛片免费完整视频| 国产精品99精品久久免费| 亚洲人成网亚洲欧洲无码| 亚洲一区二区三区影院| 国产99视频精品免费观看7| 久久精品免费大片国产大片| 亚洲另类视频在线观看| 亚洲一区二区三区香蕉| 免费观看大片毛片|