线程的状态与生命周期

Java 对象锁-synchronized()与线程的状态与生命周期与守护进程

孤人 提交于 2019-11-30 15:26:50
synchronized(someObject){ //对象锁 } 一、对象锁 someObject 的使用说明: 1、对象锁的返还。 当synchronize()语句执行完成。 当synchronize()语句执行出现异常。 当线程调用了wait()方法。 2、使用对象锁保护的数据都必须是私有的。 也就是说someObject 变量必须是private 3、对象锁具有可重入性。 一个线程在已经获得对象锁的情况下,可以再次请求获得对象锁。 二、线程的生命周期 线程run()方法结束之后,这个线程就是死的了。可能会被回收了。 线程周期以及线程转换可以参考博文 http://blog.csdn.net/LonelyRoamer/article/details/7949969 jvm 内幕报文参考 http://www.importnew.com/17770.html 这里所说的线程指程序执行过程中的一个线程实体。JVM 允许一个应用并发执行多个线程。Hotspot JVM 中的 Java 线程与原生操作系统线程有直接的映射关系。当线程本地存储、缓冲区分配、同步对象、栈、程序计数器等准备好以后,就会创建一个操作系统原生线程。Java 线程结束,原生线程随之被回收。操作系统负责调度所有线程,并把它们分配到任何可用的 CPU 上。当原生线程初始化完毕,就会调用 Java 线程的 run()