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

Khun欣

Khun欣

2016-02-19 14:31

在这个颜值当道,屌丝闪边的时代,拼不过颜值拼内涵,只有知识丰富才能提升一个人的内在气质和修养,所谓人丑就要多学习,今天图老师给大家分享实战Java多线程编程精要之限制优先级,希望可以对大家能有小小的帮助。
限制线程优先级和调度
  
  Java 线程模型涉及可以动态更改的线程优先级。本质上,线程的优先级是从 1 到 10 之间的一个数字,数字越大表明任务越紧急。JVM 标准首先调用优先级较高的线程,然后才调用优先级较低的线程。但是,该标准对具有相同优先级的线程的处理是随机的。!-- frame contents -- !-- /frame contents --如何处理这些线程取决于基层的操作系统策略。在某些情况下,优先级相同的线程分时运行;在另一些情况下,线程将一直运行到结束。请记住,Java 支持 10 个优先级,基层操作系统支持的优先级可能要少得多,这样会造成一些混乱。因此,只能将优先级作为一种很粗略的工具使用。最后的控制可以通过明智地使用 yield() 函数来完成。通常情况下,请不要依靠线程优先级来控制线程的状态。
  
  小结
  
  本文说明了在 Java 程序中如何使用线程。像是否应该使用线程这样的更重要的问题在很大程序上取决于手头的应用程序。决定是否在应用程序中使用多线程的一种方法是,估计可以并行运行的代码量。并记住以下几点:
  
  使用多线程不会增加 CPU 的能力。但是假如使用 JVM 的本地线程实现,则不同的线程可以在不同的处理器上同时运行(在多 CPU 的机器中),从而使多 CPU 机器得到充分利用。
  
  假如应用程序是计算密集型的,并受 CPU 功能的制约,则只有多 CPU 机器能够从更多的线程中受益。
  
  当应用程序必须等待缓慢的资源(如网络连接或数据库连接)时,或者当应用程序是非交互式的时,多线程通常是有利的。
  
  基于 Internet 的软件有必要是多线程的;否则,用户将感觉应用程序反映迟钝。例如,当开发要支持大量客户机的服务器时,多线程可以使编程较为轻易。在这种情况下,每个线程可以为不同的客户或客户组服务,从而缩短了响应时间。
  
  某些程序员可能在 C 和其他语言中使用过线程,在那些语言中对线程没有语言支持。这些程序员可能通常都被搞得对线程失去了信心。
  
展开更多 50%)
分享

猜你喜欢

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

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

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

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

s8lol主宰符文怎么配

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

Java多线程编程精要之基础

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

Java多线程编程精要

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

lol偷钱流符文搭配推荐

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

Java多线程编程精要之实现线程

Java JAVA基础
Java多线程编程精要之实现线程

实战体会Java的多线程编程

编程语言 网络编程
实战体会Java的多线程编程

lolAD刺客新符文搭配推荐

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

为什么不能把这个斜线省略掉呢?

为什么不能把这个斜线省略掉呢?

EJB3.0开发指南之实体Bean的继承

EJB3.0开发指南之实体Bean的继承
下拉加载更多内容 ↓