Java多线程之线程池
来源:互联网 发布:绘图设计软件 编辑:程序博客网 时间:2024/05/18 01:09
Java多线程之线程池
1,调用Executors类的静态工厂方法来创建一个ExecutorService对象,该对象代表一个线程池。
2,创建Runnable实现类,当然也可以创建Callable实现类,作为线程执行任务
3,调用ExecutorService对象的submit方法来提交上面的Runnable实例
4,当不想在提交任何任务时调用ExecutorService对象的shutdown方法来关闭线程池
具体代码如下:
首先强调一点,池是一种设计模式,也就是说好多的成本比较高的连接了这些为了提供性能,用一个池来做缓存。比如说字符串池,比如说数据库连接池,这里介绍下线程池。
线程池在系统启动时创建大量空闲的线程,程序将一个Runnable对象传给线程池,线程池会启动一个线程来执行该对象的run方法,当run方法执行结束后,该线程并不会死亡,再次返回到池里面成为了空闲状态,等待执行下一个Runnable对象的run方法。
1,调用Executors类的静态工厂方法来创建一个ExecutorService对象,该对象代表一个线程池。
2,创建Runnable实现类,当然也可以创建Callable实现类,作为线程执行任务
3,调用ExecutorService对象的submit方法来提交上面的Runnable实例
4,当不想在提交任何任务时调用ExecutorService对象的shutdown方法来关闭线程池
具体代码如下:
import java.util.concurrent.*;// 实现Runnable接口来定义一个简单的线程类class LinkinThread implements Runnable{public void run(){for (int i = 0; i < 100; i++){//使用了池以后,线程的命名就成了“pool-1-thread-1”这样子System.out.println(Thread.currentThread().getName() + " " + i);}}}public class ThreadPoolTest{public static void main(String[] args) throws Exception{// 创建一个具有固定线程数(6)的线程池ExecutorService pool = Executors.newFixedThreadPool(6);// 向线程池中提交两个线程pool.submit(new LinkinThread());pool.submit(new LinkinThread());// 关闭线程池pool.shutdown();}}
0 0
- Java多线程之线程池
- Java多线程之线程池
- java多线程之线程池
- Java多线程之线程池
- Java多线程之线程池
- JAVA多线程之线程池
- Java多线程之线程池深入分析
- Java多线程之线程池(一)
- Java多线程之线程池(二)
- Java多线程之线程池(三)
- Java多线程之线程池(四)
- Java多线程之线程池(五)
- java多线程之 Executors线程池管理
- Java多线程之线程池的学习
- Java多线程之五线程池
- java多线程之--线程池的创建
- Java基础:多线程之线程池
- Java多线程之线程池使用
- Key Hashes for Facebook Apps - Android application development in Windows
- Parcelable心得
- sql语法:inner join on, left join on, right join on详细使用方
- 2015-2-5-C#Meteux互斥客户端
- 情趣谷 or 乐懿居
- Java多线程之线程池
- LeetCode101——Symmetric Tree
- Combining Qt Widgets and QML with QWidget::createWindowContainer()
- 网站安全 Spring MVC防御CSRF、XSS和SQL注入攻击
- LinuxC下获取UDP包中的路由目的IP地址和头标识目的地址
- HDU1081
- 条件查询按时间段查询
- hdu 1503 记忆化搜索+递归输出+标记前驱
- 如何在SpringMVC中获取request对象