梦幻之旅

DEBUG - 天道酬勤

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  671 随笔 :: 6 文章 :: 256 评论 :: 0 Trackbacks
package hasreturn;

import java.util.concurrent.Callable;

public class TaskSwitchResult implements Callable<String>
{
    
private int id;
    
    
public TaskSwitchResult(int id)
    
{
        
this.id = id;
    }

    
    
public String call() throws Exception
    
{
        
try
        
{
            Thread.sleep(
1000*3);
        }

        
catch(Exception ex)
        
{}
        
return "result of " + this.id;
    }
   

}




package hasreturn;

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

public class CallableDemo
{   
    
public static void main(String[] args)
    
{
        ExecutorService pool 
= Executors.newFixedThreadPool(1);
        ArrayList
<Future<String>> results = new ArrayList<Future<String>>();
        
for(int i=0;i<10;i++)
        
{
            results.add(pool.submit(
new TaskSwitchResult(i)));
        }

        
        
for(Future<String> fs : results)
        
{
            
try
            
{
                System.out.println(fs.get());
            }

            
catch(Exception ex)
            
{
                ex.printStackTrace();
            }

        }

        
        pool.shutdown();
    }

}

posted on 2011-08-08 21:12 HUIKK 阅读(501) 评论(0)  编辑  收藏 所属分类: Java

只有注册用户登录后才能发表评论。


网站导航: