zoukankan      html  css  js  c++  java
  • ExecutorService启动线程

    1,Java5版本以后,使用ExecutorService启动线程,比之前的版本中的Thread的start()更好

    2,创建ExecutorService

    ExecutorService es = Executors.newCachedThreadPool();
    

    3,ExecutorService执行任务

    任务类型:
    实现Runnable接口的类 (无返回值)
    实现Callable接口的类   (有返回值)
     
    3-1, 执行(Runnable)任务
    (1),无返回值: <T> Future<T> submit(Runnable task)
        es.submit(new Thread(){
    	  public void run(){
    		//实现部分
    	  }
           });
    

    (2),有返回值: <T> Future<T> submit(Runnable task, T result)

        String result = "END";
           Future<String> rs = es.submit(new Thread(){
    			public void run(){
    				//实现部分
    			}
    	}, result);
    		
    	String end = "";
    	try {
    		end = rs.get();    //获取执行结果
    	} catch (InterruptedException e) {  
                e.printStackTrace();  
            } catch (ExecutionException e) {  
                e.printStackTrace();  
            }  
    		
    	System.out.println(end);  // 执行结果: END
    

    3-2,执行(Callable)任务

    (1)有返回值 :  <T> Future<T> submit(Callable<T> task)

        String mobile = "13050230361";
          Map<String, String> map = new HashMap<String, String>();
          Future<String> rs = es.submit(new TaskThread(mobile, map));
    		
          String end = "";
          try {
    	  end = rs.get();   //获取执行结果
        } catch (InterruptedException e) {  
                e.printStackTrace();  
          } catch (ExecutionException e) {  
                e.printStackTrace();  
          } 
    		
          System.out.println(end);   //  执行结果: OK
    

    任务实现类:

         class TaskThread implements Callable<String>{
    	private String mobile;
    	private Map<String, String> map;
    	
    	public TaskThread(String mobile, Map<String, String> map) {
    		super();
    		this.mobile = mobile;
    		this.map = map;
    	}
    
    	@Override
    	public String call() throws Exception {
    		if(mobile == null){
    			return null;
    		}
    		return "OK";
    	}
            }
    

      

    4,用例:发送短信

      

     
     
  • 相关阅读:
    将Word、Excel内容显示在Winform界面
    C#操作Word
    WinForm控件小知识
    C#一些小知识点
    C#导入导出Excel表的数据
    tp控制数据库
    php缓存
    php环境搭建(转自发瑞)
    tp框架知识集锦(3.2)
    用smarty模板实现数据的显示修改以及分页
  • 原文地址:https://www.cnblogs.com/wanhua-wu/p/6513627.html
Copyright © 2011-2022 走看看