创建多线程的方法四

package daybyday;
/*
好处:
1.提高相应速度(减少创建新线程的时间)
2.降低资源消耗
3.便于线程管理
corePoolSize 核心池的大小
maximumPool最大线程数
keepAlivetime线程没有任务时最多保持多久时间后会终止
*/
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;

class NumberThred implements Runnable{
@Override
public void run() {
for (int i = 0; i <= 100; i++) {
if (i%2==0){
System.out.println(Thread.currentThread().getName()+":"+i);
}
}

}
}

class NumberThred1 implements Runnable{
@Override
public void run() {
for (int i = 0; i <= 100; i++) {
if (i%2!=0){
System.out.println(Thread.currentThread().getName()+":"+i);
}
}

}
}
//创建线程的方法四:使用线程池
public class ThreadPool {
public static void main(String[] args) {
//1.提供指定线程数量的线程池
ExecutorService service = Executors.newFixedThreadPool(10);
ThreadPoolExecutor service1 = (ThreadPoolExecutor) service ;
//设置线程池的属性
service.getClass();
service1.setCorePoolSize(15);
service1.setKeepAliveTime(100);

//2.执行指定的线程的操作,需要提供Runnable或Callable接口
service.execute(new NumberThred());//适用于Runnable
service.execute(new NumberThred1());//适用于Runnable
// service.submit(); 适用于Callable
service.shutdown();//关闭线程池
}
}
posted @ 2022-11-13 20:53  平凡的柳先生  阅读(26)  评论(0)    收藏  举报