Java线程的状态及切换

2016-04-25
阅读 5 分钟
10.8k
start调用结束,线程由NEW变成RUNNABLE,存活着,并尝试占用CPU资源,yield操作时,线程还是Runnable状态,只是它有一个细节的内部变化,做一个简单的让步。在Java层面是Runnable的状态,并不代表一定处于运行中的状态,比如BIO中,线程正阻塞在网络等待的时候,看到的状态依然是Runnable状态,而底层线程已经被阻塞住了。

ThreadPoolExecutor线程池如何弹性伸缩

2016-02-29
阅读 9 分钟
8.1k
Java基础系列 Java的hashcode与equals方法 Java类初始化顺序 ThreadPoolExecutor线程池如何弹性伸缩 HashMap的几个要点 Integer的缓存 什么场景下使用阻塞队列 volatile的使用及DCL模式 try-catch-finally中的return 序 本文主要分析Java7线程池是如何进行线程的弹性伸缩。 一、worker线程while循环利用空闲线程 {代码.....

Java线程池配置原则

2016-01-05
阅读 1 分钟
8.7k
CPU密集CPU密集型的话,一般配置CPU处理器个数+/-1个线程,所谓CPU密集型就是指系统大部分时间是在做程序正常的计算任务,例如数字运算、赋值、分配内存、内存拷贝、循环、查找、排序等,这些处理都需要CPU来完成。