线程池 Callable实现多线程
来源:互联网 发布:怎么监控数据库的变化 编辑:程序博客网 时间:2024/05/22 04:35
启动新的线程,很耗费成本,
线程池有一个好处:
里面可以存储多条线程,每一条线程执行完毕,不会变成垃圾,等待下次继续使用!
使用线程池可以解决很多问题:
1)如何创建线程池对象:
Executors工厂:专门用来创建线程池的:提供了一个方法
public static ExecutorService newFixedThreadPool(int nThreads)
2)这些方法的返回值是ExecutorService对象,该对象表示一个线程池,可以执行Runnable对象或者Callable对象代表的线程。它提供了如下方法
Future<?> submit(Runnable task):Runnable接口作为一个参数:要该类的子实现类对象
<T> Future<T> submit(Callable<T> task)
3)结束线程池
void shutdown()
public static void main(String[] args) {
//创建线程池对象
ExecutorService pool = Executors.newFixedThreadPool(2) ;
//使用ExecutorsService接口中有要给方法:
//Future<?> submit(Runnable task):Runnable接口作为一个参数:要该类的子实现类对象
pool.submit(new MyRunnable()) ;
pool.submit(new MyRunnable()) ;
//结束线程池
pool.shutdown();
}
实现多线程的方式3:
1:自定义一个类,实现Callable接口
2:实现里面的call方法
3:主线程中创建线程对象,
4:用线程池对象提交任务(MyCallable这个任务:实现0--100之间的循环)
5:提交后结束线程池
ExecutorService threadPool = Executors.newFixedThreadPool(2) ;
//提交任务
threadPool.submit(new MyCallable()) ;
threadPool.submit(new MyCallable()) ;
//结束线程池
threadPool.shutdown();
线程池有一个好处:
里面可以存储多条线程,每一条线程执行完毕,不会变成垃圾,等待下次继续使用!
使用线程池可以解决很多问题:
1)如何创建线程池对象:
Executors工厂:专门用来创建线程池的:提供了一个方法
public static ExecutorService newFixedThreadPool(int nThreads)
2)这些方法的返回值是ExecutorService对象,该对象表示一个线程池,可以执行Runnable对象或者Callable对象代表的线程。它提供了如下方法
Future<?> submit(Runnable task):Runnable接口作为一个参数:要该类的子实现类对象
<T> Future<T> submit(Callable<T> task)
3)结束线程池
void shutdown()
public static void main(String[] args) {
//创建线程池对象
ExecutorService pool = Executors.newFixedThreadPool(2) ;
//使用ExecutorsService接口中有要给方法:
//Future<?> submit(Runnable task):Runnable接口作为一个参数:要该类的子实现类对象
pool.submit(new MyRunnable()) ;
pool.submit(new MyRunnable()) ;
//结束线程池
pool.shutdown();
}
实现多线程的方式3:
1:自定义一个类,实现Callable接口
2:实现里面的call方法
3:主线程中创建线程对象,
4:用线程池对象提交任务(MyCallable这个任务:实现0--100之间的循环)
5:提交后结束线程池
ExecutorService threadPool = Executors.newFixedThreadPool(2) ;
//提交任务
threadPool.submit(new MyCallable()) ;
threadPool.submit(new MyCallable()) ;
//结束线程池
threadPool.shutdown();
阅读全文
0 0
- 线程池 Callable实现多线程
- Java 多线程线程池 - Callable和Future
- 利用callable实现多线程
- Callable接口实现多线程
- 通过Callable实现多线程
- 通过Callable实现多线程
- 通过Callable实现多线程
- Callable接口实现多线程
- Java多线程3-线程池、Callable和Future
- Java多线程3-线程池、Callable和Future
- Java多线程Thread,Runnable, Callable<>和线程池(一)
- Java多线程Thread,Runnable, Callable<>和线程池(二)
- java Executor线程池 中的Callable多线程讲解及实例
- Callable、Future多线程 线程池处理有返回值
- java 多线程callable接口实现
- 使用Callable接口实现多线程
- 通过Callable接口实现多线程
- 通过Callable接口实现多线程
- Springboot+jedis简单项目
- PAT乙级 1050 螺旋矩阵(25)
- 异常
- 15_链表中倒数第k个节点
- 【java学习笔记】 如果定义了带有参数的构造函数,则默认构造函数失效(需手动定义)
- 线程池 Callable实现多线程
- 在eclipse中添加Tomcat服务器
- 线程学习总结1
- TLPI UNIX linux系统编程手册源代码运行
- 小白练打字:金山打字通
- 计算机网络---网络标准技术与协议及其分类
- 【数据结构】公交线路管理
- springcloud文件上传文件名乱码
- JAVA大数