package com.myh.kb13.t805.services;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
/**
* @Description:
* @author:myh
* @date: 2021/8/5 12:19
*/
public class MyPool {
public static void main(String[] args) {
// cached线程池
// ExecutorService cachedThreadPool= Executors.newCachedThreadPool();
// for (int i = 0; i < 100; i++) {
// final int num=i;
// try {
// Thread.sleep(50);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
// cachedThreadPool.execute(new Runnable() {
// @Override
// public void run() {
// System.out.println(Thread.currentThread().getName()+":"+num);
// }
// });
//lambda语法1.8 scala spark 用scala到公司写东西 都不敢开除你 能写出来 不容易 很多java转scala都很难
// cachedThreadPool.execute(()-> System.out.println(Thread.currentThread().getName()+":"+num));
// }
//单线程池
/* ExecutorService singleThreadExecutor=Executors.newSingleThreadExecutor();
for (int i = 0; i < 100; i++) {
final int num=i;
singleThreadExecutor.execute(new Runnable() {
@Override
public void run() {
System.out.println("当前线程:"+Thread.currentThread().getName()+":"+num);
}
});
}*/
/* //固定线程池 按照用户要求 1次n个线程同时运行
ExecutorService fix=Executors.newFixedThreadPool(10);
for (int i = 0; i < 100; i++) {
final int num=i;
fix.execute(new Runnable() {
@Override
public void run() {
System.out.println("当前线程:"+Thread.currentThread().getName()+":"+num);
}
});
}
//最多只开是个线程池 固定线程池*/
//schedu 线程池 corepoolsize代表池子里可以放几个线程
//线程调度 像红绿灯 自己延迟 几秒 固定出来就可以了
ScheduledExecutorService ses = Executors.newScheduledThreadPool(3);
ses.schedule(new MyRun(), 10, TimeUnit.SECONDS); //想延迟就延迟 10秒后执行
}
}
class MyRun implements Runnable{
@Override
public void run() {
System.out.println("我执行了");
}
}
08-25
523
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交