package com;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit; public class demo3 { public static void main(String[] args) {
// TODO Auto-generated method stub //test1();
//test2();
test3();
} static void test1(){
//ExecutorService的用法
ExecutorService fixedThreadPool = Executors.newFixedThreadPool(2);
for( int i=0;i<100;i++){
fixedThreadPool.execute(
new Runnable(){ public void run() {
System.out.println("====threadId="+Thread.currentThread().getId()); }
}
);
} } static void test2(){
Executor exec=new ThreadPerTaskExecutor();
exec.execute(new Runnable(){ @Override
public void run() {
// TODO Auto-generated method stub
System.out.println("ccccc"+Thread.currentThread().getId());
} }); } //ThreadPoolExecutor
static void test3(){ BlockingQueue<Runnable> queue = new LinkedBlockingQueue<Runnable>();
ThreadPoolExecutor threadPool = new ThreadPoolExecutor(2, 4, 5, TimeUnit.SECONDS,
queue, new ThreadPoolExecutor.AbortPolicy()); for(int i=0;i<100;i++){
threadPool.execute(new MyThread(i+""));
}
threadPool.shutdown(); } static class MyThread implements Runnable {
private String name; public MyThread(String name) {
this.name = name;
} @Override
public void run() {
// 做点事情
try {
Thread.sleep(1000); System.out.println(name+"===当前线程="+Thread.currentThread().getId() + " finished job!") ;
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} } //execute的用法
class ThreadPerTaskExecutor implements Executor {
public void execute(Runnable r) {
new Thread(r).start();
}
}

最新文章

  1. 在 iTunes content中创建新的版本时,出现构建版本后面没有加号。
  2. asp.net.mvc 中form表单提交控制器的2种方法和控制器接收页面提交数据的4种方法
  3. generator函数
  4. ios7 Cocos2dx 隐藏状态栏设置
  5. 收缩Mysql的ibdata1文件大小方法
  6. php Late Static Bindings延迟静态绑定
  7. JavaScript、Ajax与jQuery的关系
  8. 关于MySQL insert into ... select 的锁情况
  9. iOS开发基础篇-Button基础
  10. [物理学与PDEs]第3章第3节 电导率 $\sigma$ 为无穷时的磁流体力学方程组 3.3 磁场线``冻结&#39;&#39;原理
  11. constructor C++ example
  12. 用.Net打造一个移动客户端(Android/IOS)的服务端框架NHM(四)——Android端Http访问类(转)
  13. Inotify+rsync实现实时数据同步
  14. nopcommerce 常用属性验证
  15. cursor:hand &amp; cursor:pointer
  16. POJ2891 Strange Way to Express Integers
  17. Kali-linux服务的指纹识别
  18. ngModelController的方法和属性的使用
  19. js 代码执行时间
  20. Echarts主题颜色

热门文章

  1. jQuery基础 浅析(含基本方法和选择器)
  2. pat 团体天梯赛 L1-039. 古风排版
  3. BZOJ 1658 Water Slides 滑水
  4. js禁用&quot;Backspace&quot;键(即禁止网页倒退)
  5. k-mean聚类学习笔记
  6. 《手把手教你学C语言》学习笔记(9)--- 程序的选择控制
  7. C++学习(二):学会使用stringstream
  8. php--点赞功能的实现
  9. 站点部署,IIS配置优化指南
  10. [UR #3] 核聚变反应强度