java线程池的使用。
来源:互联网 发布:java https 2.0 编辑:程序博客网 时间:2024/06/03 12:45
java线程池的使用的代码:
package www.com.weitao;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Test1 {
public static void main(String[] args) {
ExecutorService es = Executors.newFixedThreadPool(10);
for (int i = 10; i <= 100; i += 10) {
calculate(es, i);
}
//当线程使用完毕处于空闲状态时关闭当前线程
es.shutdown();
}
private static void calculate(ExecutorService es, final int n) {
es.execute(new Runnable() {
public void run() {
int sum = 0;
for (int i = n - 9; i <= n; i++) {
sum += i;
}
System.out.println("从" + (n - 9) + "到" + n + "相加的结果为:" + sum);
}
});
}
}
想要灵活使用线程我们必须了解到线程池的作用:
1.线程池只会是在你主线程的基础上面再创建了几个线程,当你运行时很有可能你的main线程执行完了,却发现你开启的线程池中的程序还在执行。
2.线程是随机的,只要你的线程有空闲的,他就会出来执行。
3.当某个线程执行完了之后我们就要把线程进行关闭。
在现实生活中我们往往需要再开启的线程执行完成之后再对主线程进行继续执行:
即:以上代码必须增加线程池中是否还有线程再执行的判断如下加在es.shutdown()之后
while (true) {
if (es.isTerminated()) {
System.out.println("结束了!");
break;
}
}
这个跳出循环则代表线程池中的线程已经全部关闭。
- java线程和线程池的使用
- java 线程池的使用
- java线程池的使用
- Java线程池的使用
- Java线程池的使用
- java线程池的使用
- java线程池的使用
- java 线程池的使用
- Java线程池的使用
- java 线程池的使用
- JAVA线程池的使用
- java线程池的使用
- Java线程池的使用
- java 线程池的使用
- java线程池的使用
- java 线程池的使用
- Java线程池的使用
- Java 线程池的使用
- shell 数组处理
- 散列表(哈希表)
- 守望先锋战斗同步设计
- 3分钟速读:图解Java Collections的接口以及类层级关系
- Batch Normalization个人理解
- java线程池的使用。
- hiberbate循环保存问题
- HDU:1728 逃离迷宫
- Java NIO系列教程(八) SocketChannel
- Setting 定制(android-6.0)
- 第二周项目宣告主权
- javascript 操作 url 中 search 部分方法函数
- 【第2周项目 -宣告“主权”】
- ListView,GridView,Spinner等 无数据时显示背景view