多线程学习--简单的线程池创建
来源:互联网 发布:重庆大学电气工程 知乎 编辑:程序博客网 时间:2024/05/16 08:59
package Demo9;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
public class ThreadPoolTest {
/**
* @param args
*/
public static void main(String[] args) {
// ExecutorService threadPool = Executors.newFixedThreadPool(3);
ExecutorService threadPool = Executors.newCachedThreadPool();
//创建单一线程池(线程死了如何重新启动??)
//ExecutorService threadPool = Executors.newSingleThreadExecutor();
//Executors.n
for(int j=0;j<=10;j++){
final int task=j;
threadPool.execute(new Runnable(){
@Override
public void run() {
try {
Thread.sleep(20);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for(int i=1;i<=10;i++){
System.out.println(Thread.currentThread().getName()+"is loop of"+i+"task of"+task);
}
}
});
}
System.out.println("all of 10 tasks have commits");
// threadPool.shutdown();
Executors.newScheduledThreadPool(3).schedule(new Runnable(){
@Override
public void run() {
System.out.println("bombing!!");
}
}, 10,TimeUnit.SECONDS);
Executors.newScheduledThreadPool(3).scheduleAtFixedRate(new Runnable(){
@Override
public void run() {
System.out.println("bombing!!");
}
}, 6, 2, TimeUnit.SECONDS);
}
}
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
public class ThreadPoolTest {
/**
* @param args
*/
public static void main(String[] args) {
// ExecutorService threadPool = Executors.newFixedThreadPool(3);
ExecutorService threadPool = Executors.newCachedThreadPool();
//创建单一线程池(线程死了如何重新启动??)
//ExecutorService threadPool = Executors.newSingleThreadExecutor();
//Executors.n
for(int j=0;j<=10;j++){
final int task=j;
threadPool.execute(new Runnable(){
@Override
public void run() {
try {
Thread.sleep(20);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for(int i=1;i<=10;i++){
System.out.println(Thread.currentThread().getName()+"is loop of"+i+"task of"+task);
}
}
});
}
System.out.println("all of 10 tasks have commits");
// threadPool.shutdown();
Executors.newScheduledThreadPool(3).schedule(new Runnable(){
@Override
public void run() {
System.out.println("bombing!!");
}
}, 10,TimeUnit.SECONDS);
Executors.newScheduledThreadPool(3).scheduleAtFixedRate(new Runnable(){
@Override
public void run() {
System.out.println("bombing!!");
}
}, 6, 2, TimeUnit.SECONDS);
}
}
0 0
- 多线程学习--简单的线程池创建
- 1.多线程学习--线程的创建
- 线程学习之--1简单的多线程
- 多线程学习---写一个简单的线程
- 多线程学习--简单的线程同步
- Java线程学习-创建线程,线程的简单实用
- 多线程学习(一)线程概念&线程的创建
- 多线程-线程的创建
- 多线程~~简单的线程创建,C语言实现
- 多线程~~简单的线程创建,C语言实现
- 多线程学习1-创建线程
- java多线程之--线程池的创建
- 多线程之线程池的简单实现
- 多线程中线程池的简单实现
- 【多线程】一个简单的线程池Demo
- linux多线程学习(二)—线程的创建和退出
- 线程学习之--5多线程创建的第二种方式
- java多线程学习(二)——线程的创建
- Excel数据转换为cvs,json,xml
- 常用的时间计量系统及其区别
- Android apk的安装、卸载、更新升级(通过Eclipse实现静默安装)
- Hadoop集群搭建
- 转载 android service 使用以及aidl使用
- 多线程学习--简单的线程池创建
- gre备考五大要点【zhasite】
- 爬虫-利用urllib爬去网页增加user_agent和proxy(Python)
- unix的指令
- 2015-11-16亲测58可用httpwebrequest模拟登陆方法
- IOS 中的手势
- iOS:GIF图片的预览以及生成
- 内联函数与宏定义的区别举例
- ubuntu14.04,安装Eclipse(开源开发工具)