首页 > 编程语言 > 详细

多线程那些事儿

时间:2016-06-03 12:46:17      阅读:156      评论:0      收藏:0      [点我收藏+]
public void perform(){
        ScheduledExecutorService schedulePool=Executors.newScheduledThreadPool(1);
        
        long initialDelay=10;
        long period=3;
        schedulePool.scheduleAtFixedRate(new Runnable(){
            @Override
            public void run() {
                HttpClient client = new DefaultHttpClient();
                
                String url="http://localhost:8080/member/....../test.do";
                HttpUriRequest get=new HttpGet(url);
                try {
                    HttpResponse res = client.execute(get);
                    System.out.println(EntityUtils.toString(res.getEntity(),"utf-8"));
                } catch (ClientProtocolException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }finally{
                    if(client!=null){
                        client.getConnectionManager().shutdown();  
                    }
                }
                
            }            
        }, initialDelay, period, TimeUnit.SECONDS);
        
    }

监控资源发现,方法内部的线程池关不关闭都无所谓(ExecutorService.shutdown()),

细细想来,也是这个道理:方法跑完的时候方法内所有内部的变量都会被标记为清楚,所以线程池也被标记为清楚了,所以不会占用资源。

多线程那些事儿

原文:http://www.cnblogs.com/shoubianxingchen/p/5555696.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!