Java多线程编程之限制优先级

lihui199111

lihui199111

2016-01-29 12:59

Java多线程编程之限制优先级,Java多线程编程之限制优先级
  限制线程优先级和调度

  Java 线程模型涉及可以动态更改的线程优先级。本质上,线程的优先级是从 1 到 10 之间的一个数字,数字越大表明任务越紧急。JVM 标准首先调用优先级较高的线程,然后才调用优先级较低的线程。但是,该标准对具有相同优先级的线程的处理是随机的。如何处理这些线程取决于基层的操作系统策略。在某些情况下,优先级相同的线程分时运行;在另一些情况下,线程将一直运行到结束。请记住,Java 支持 10 个优先级,基层操作系统支持的优先级可能要少得多,这样会造成一些混乱。因此,只能将优先级作为一种很粗略的工具使用。最后的控制可以通过明智地使用 yield() 函数来完成。通常情况下,请不要依靠线程优先级来控制线程的状态。

  小结

  本文说明了在 Java 程序中如何使用线程。像是否应该使用线程这样的更重要的问题在很大程序上取决于手头的应用程序。决定是否在应用程序中使用多线程的一种方法是,估计可以并行运行的代码量。并记住以下几点:

  使用多线程不会增加 CPU 的能力。但是如果使用 JVM 的本地线程实现,则不同的线程可以在不同的处理器上同时运行(在多 CPU 的机器中),从而使多 CPU 机器得到充分利用。

  如果应用程序是计算密集型的,并受 CPU 功能的制约,则只有多 CPU 机器能够从更多的线程中受益。

  当应用程序必须等待缓慢的资源(如网络连接或数据库连接)时,或者当应用程序是非交互式的时,多线程通常是有利的。

  基于 Internet 的软件有必要是多线程的;否则,用户将感觉应用程序反映迟钝。例如,当开发要支持大量客户机的服务器时,多线程可以使编程较为容易。在这种情况下,每个线程可以为不同的客户或客户组服务,从而缩短了响应时间。

  某些程序员可能在 C 和其他语言中使用过线程,在那些语言中对线程没有语言支持。这些程序员可能通常都被搞得对线程失去了信心。
展开更多 50%)
分享

猜你喜欢

Java多线程编程之限制优先级

Java JAVA基础
Java多线程编程之限制优先级

实战Java多线程编程精要之限制优先级

编程语言 网络编程
实战Java多线程编程精要之限制优先级

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

[JAVA100例]067、线程优先级

编程语言 网络编程
[JAVA100例]067、线程优先级

Java 多线程编程

编程语言 网络编程
Java 多线程编程

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Java多线程编程之不提倡的方法

Java JAVA基础
Java多线程编程之不提倡的方法

Java多线程编程精要

Java JAVA基础
Java多线程编程精要

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

基于Java的代理设计模式

基于Java的代理设计模式

怎么让用户点击一个连接后,把一个图片另存了 - PHPchina

怎么让用户点击一个连接后,把一个图片另存了 - PHPchina
下拉加载更多内容 ↓