多线程那些事儿
Posted 手边星辰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程那些事儿相关的知识,希望对你有一定的参考价值。
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()),
细细想来,也是这个道理:方法跑完的时候方法内所有内部的变量都会被标记为清楚,所以线程池也被标记为清楚了,所以不会占用资源。
以上是关于多线程那些事儿的主要内容,如果未能解决你的问题,请参考以下文章