以下为主要类:
package d;
/**
* @author 真他喵的学不动咯
* @create 2022-08-03--20:40
*/
public class Number implements Runnable{
//属性
private int num=100;
//构造器
//方法
@Override
public void run() {
while(true){
synchronized (this) {
if (num > 0) {
num--;
System.out.println(Thread.currentThread().getName() + "输出了数字" + num);
} else {
break;
}
}
}
}
}
以下为测试类:
package d;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;
/**
* @author 真他喵的学不动咯
* @create 2022-08-03--20:44
*/
public class NumTest {
public static void main(String[] args){
Number n1=new Number();//new一个Thread的实现类
Number n2=new Number();//new一个Thread的实现类
//造一个资源池
ExecutorService service= Executors.newFixedThreadPool(10);
//new一个最多线程为10的线程池
service.execute(n1); //Runnable的方法用execute,形参为实现Runnable的接口类
service.execute(n2); //execute()方法相当于start()方法进行运行
ThreadPoolExecutor s1=(ThreadPoolExecutor)service;
service.shutdown();
}
}