Java线程优先级和线程暂停恢复的问题
2013-03-17 17:28
267 查看
在Java中,使用一个线程以抢占方式暂停其他的线程是很难的。尽管Java API中提供了Thread的suspend和resume方法,但这些方法又是不建议使用的,因为它们常常会导致死锁。如果一个应用线程在运行到一个同步方法中时被暂停,这常会导致死锁。
标准的JVM支持Java线程根据设定的优先级进行调度,但它不保证这一定生效。使用API设定Java线程的优先级被JVM认为是一种提示,设定是否生效取决具体的JVM实现以及底层操作系统。
因此使用Java提供的API来解决优先级调度的问题是值得认真思考的问题。在构建服务时,处理请求消息时,可能会对不同的请求给予不同的优先级,可考虑将请求消息放置到队列中,不同的优先级的请求放置到不同的队列。
标准的JVM支持Java线程根据设定的优先级进行调度,但它不保证这一定生效。使用API设定Java线程的优先级被JVM认为是一种提示,设定是否生效取决具体的JVM实现以及底层操作系统。
因此使用Java提供的API来解决优先级调度的问题是值得认真思考的问题。在构建服务时,处理请求消息时,可能会对不同的请求给予不同的优先级,可考虑将请求消息放置到队列中,不同的优先级的请求放置到不同的队列。
相关文章推荐
- java多线程程序设计二、线程返回值,优先级以及暂停的问题
- 【Java 语言】Java 多线程 一 ( 线程基础 : 线程启动 | 线程停止 | 线程暂停 | 线程优先级 | 守护线程)
- 关于java线程优先级的问题
- 2010-05-23 14:48 Java(6)线程暂停、恢复
- [Java]线程优先级问题
- [Java]线程的优先级问题,困扰多日,已解决!
- java线程等待、设置优先级、同步、挂起、恢复(Join、setPriority、synchronized、wait、notify……)
- java多线程suspend、resume暂停与恢复线程
- java线程的暂停和恢复 suspend 和resume
- java线程停止、暂停和恢复等状态的控制
- java线程(暂停、恢复、结束)前引
- java线程停止、暂停和恢复等状态的控制
- Android中的java层的线程暂停和恢复实现
- java线程暂停与恢复suspend和resume
- Android中的java层的线程暂停和恢复实现
- java线程等待、设置优先级、同步、挂起、恢复(Join、setPriority、synchronized、wait、notify……)
- Android中java线程的暂停与恢复
- 详解Java的线程的优先级以及死锁
- java挂起和恢复线程的api为何废弃
- Java线程(三):线程协作-生产者/消费者问题