4、线程(并发编程)

###什么是线程
线程是操作系统调度的最小单元
一个Java程序从main()方法开始执行。
那么启动一个main()线程,一个Java程序,为什么后台会有多个线程。
线程分为用户线程和守护(deamon)线程
当用户线程数为0,Java 虚拟机会停止。

###线程优先级
线程的优先级范围 1~10
优先级越高的线程会获取到更多的CPU时间片
系统默认的线程优先级是5
设置线程优先级的方法:setPriority(int)
设置优先级无效
???设置了线程优先级的线程,为什么无效,还是默认的5
mac os x 10.10 操作系统和 ubuntu 14.04系统,线程的优先级都是默认的5.设置了,也不会生效

###线程的状态
1、NEW 新建状态:new Tread() ,但并没有调用 start()方法
2、RUNNING 运行状态:运行中,或就绪(系统已为线程分配时间片)状态
3、WAIT 等待状态:在该状态下的线程,需要其他线程唤醒或中断(线程是阻塞的)
4、TIME_WAITING 超时等待:该状态不同于等待状态,该状态下超过时间,会自行返回的(线程是阻塞的)。
5、TERMINATED 终止状态:线程终止

4、线程(并发编程)_第1张图片

你可能感兴趣的:(Java并发编程)