java线程池的问题
一段简易的代码如下:
import java.util.*;
import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Main {
public static Scanner input=new Scanner(System.in);
public static ExecutorService exe=Executors.newFixedThreadPool(2);
public static void main(String arg[]){
MyThread mythread=new MyThread();
for(int i=0;i<5;i++) {
exe.execute(mythread);
}
exe.shutdown();
}
}
class MyThread implements Runnable{ @Override public void run() {
for(int i=0;i<3000;i++) {
System.out.println(Thread.currentThread().getName());
}
}
}
让输出线程名字3000次。
我把3000改成300的时候是没问题的,总输出行数有1500行。
但是3000次的时候,总输出行数却只有
4706行, 这是bug。惊了
#Java##笔试题目#