System.currentTimeMillis() 用于获取当前系统时间,以毫秒为单位
start() 启动线程
run() 线程占用CPU时执行的方法
getState() 获取线程的状态
setName() 设置线程名称
getName( ) 获取线程名称
setPirority() 设置线程的优先级参数的数字越大表示优先级越高(0~10)
currentThread() 获取当前占用CPU的线程 ,静态方法
sleep() 线程 休眠
interrupt() 唤醒休眠的线程
package com.springboot.controller;
import java.util.List;
import java.util.Random;
import java.util.Vector;
import java.util.concurrent.*;
public class TestThreadPoolExecutor {
public static void main(String[] args) throws InterruptedException {
Random random = new Random();
List<Integer> list = new Vector<>();
for (int i = 1; i <= 100; i++) {
Thread thread = new Thread() {
@Override
public void run() {
list.add(random.nextInt());
}
};
thread.start();
thread.join();
}
System.out.println(list.size());
ExecutorService executorService = Executors.newCachedThreadPool();
ExecutorService executorService1 = Executors.newFixedThreadPool(20);
ExecutorService executorService2 = Executors.newSingleThreadExecutor();
ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(10,20,60L, TimeUnit.MICROSECONDS,new LinkedBlockingQueue<>());
List<Integer> lists = new Vector<>();
long start = System.currentTimeMillis();
for (int i = 1; i <= 5000000; i++) {
executorService.execute(() -> lists.add(random.nextInt()));
}
System.out.println("消耗时间" + (System.currentTimeMillis() - start) / 1000 + "\n" + "大小:" + lists.size());
}
}
class MyTask implements Runnable {
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + "===" + i);
}
int i = 0;
public MyTask(int i) {
this.i = i;
}
}