演示内存溢出的情况
package threadpool;import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;/*** 描述: 演示newFixedThreadPool出錯(cuò)的情況*/
public class FixedThreadPoolOOM {private static ExecutorService executorService = Executors.newFixedThreadPool(1);public static void main(String[] args) {for (int i = 0; i < Integer.MAX_VALUE; i++) {executorService.execute(new SubThread());}}}class SubThread implements Runnable {@Overridepublic void run() {try {Thread.sleep(1000000000);} catch (InterruptedException e) {e.printStackTrace();}}
}
package threadpool;import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;/*** 描述: 演示newFixedThreadPool出錯(cuò)的情況*/
public class FixedThreadPoolOOM {private static ExecutorService executorService = Executors.newFixedThreadPool(1);public static void main(String[] args) {for (int i = 0; i < Integer.MAX_VALUE; i++) {executorService.execute(new SubThread());}}}class SubThread implements Runnable {@Overridepublic void run() {try {Thread.sleep(1000000000);} catch (InterruptedException e) {e.printStackTrace();}}
}
?
總結(jié)
- 上一篇: keepAliveTime和线程工厂
- 下一篇: 对比线程池的特点