黑马程序员 – 学习Java5中的多线程(1) – 2012.10.29

来源:互联网 发布:弱视治疗软件 编辑:程序博客网 时间:2024/06/09 21:00

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------


在看张老师交通灯管理系统和银行业务调度系统视频的时候,有两个方法让我印象特别深刻。

 

一个是Executors.newSingleThreadExecutor(),返回的是一个只有单个线程的线程池,这是一种新的创建线程的方式,也是我接触的第一次新的创建方法。创建好线程后,再调用execute方法,实现Runnable接口,就完成了新线程的创建。

 

另一个方法是Executors.newScheduledThreadPool(int poolsize),张老师戏称它为定时器,这个方法返回的是具有指定线程数的线程池,可以在给定的延迟后运行命令或者是定期的执行运行命令。常用的是接着调用scheduleAtFixedRate,这样就可以实现定时、定期运行要指定的命令了。

 

在使用这两个方法时,我还了解到线程池的概念。现在就是把要任务交给线程池去处理。当我们需要使用线程对象的时候,不需要每次都重新创建线程,只需要从创建好的线程池中取出一个空闲线程来使用就成了。当线程运行完毕,不会像以前那样消亡,而是会回到线程池中。

从其他方还了解到使用线程池的两大好处。第一是可以提高性能,因为减少了创建线程的开销。第二是可以方便控制线程的数量,通过限制最大的线程数量,来防止系统的负荷过高。

这里还需要去了解下一般线程池的最大值可以达到多少。


原创粉丝点击