赛迪网 > IT技术 Java > Java读书频道-中
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

Java2参考大全:第14章 java.lang 研究 (15)

发布时间:2006.09.01 09:26     来源:清华大学出版社    作者:Herbert Schildt 著 张玉清 吴溥峰等 译

14.11 StrictMath
在Java 2的1.3版本中增加了StrictMath类。这个类定义一个与Math中的数学方法类似的一套完整的数学方法。两者的区别在于StrictMath中的方法对所有Java工具保证产生精确一致的结果,而Math中的方法更大程度上是为了提高性能。
14.12 Compiler
Compiler类支持创建将字节码编译而非解释成可执行码的Java环境。常规的程序不使用它。
14.13 Thread,ThreadGroup和Runnable
Runnable接口以及Thread和ThreadGroup类支持多线程编程。下面分别予以说明。
注意:关于管理线程,实现Runnable接口以及创建多线程程序的概述已在第11章
中介绍过。
14.13.1 Runnable接口
Runnable接口必须由启动执行的独立线程的类所实现。Runnable仅定义了一种抽象方法,叫做run( )。该方法是线程的入口点。它的形式如下所示:
abstract void run( )
所创建的线程必须实现该方法。
14.13.2 Thread
Thread创建一个新的执行线程。它定义了如下的构造函数:
Thread( )
Thread(Runnable threadOb)
Thread(Runnable threadOb, StringthreadName)
Thread(String threadName)
Thread(ThreadGroup groupOb, Runnable threadOb)
Thread(ThreadGroup groupOb, Runnable threadOb, String threadName)
Thread(ThreadGroup groupOb, String threadName)
threadOb是实现Runnable接口的类的一个实例,它定义了线程运行开始的地方。线程的名字由threadName指定。当名字未被指定时,Java虚拟机将创建一个。groupOb指定了新线程所属的线程组。当没有线程组被指定时,新线程与其父线程属于同一线程组。
下面的常数由Thread定义:
MAX_PRIORITY
MIN_PRIORITY
NORM_PRIORITY
正如所期望的那样,这些常数指定了最大,最小以及默认的线程优先权。由Thread定义的方法列在表14-16中。在比Java 2早的版本中,Thread中也包括了stop( ),suspend( )以及resume( )方法。然而正如在第11章中解释的那样,这些方法由于其固有的不稳定性而在Java 2中被摈弃了。在Java 2中摈弃的还有countStackFrames( )方法,因为它调用了suspend( )方法。
表14-16 由Thread 定义的方法
方法 描述
static int activeCount( ) 返回线程所属的线程组中线程的个数
void checkAccess( ) 引起安全管理程序检验当前的线程能访问和/或能改变在其上checkAccess( )方法被调用的线程
static Thread currentThread( ) 返回一个Thread对象,该对象封装了调用这个方法的线程
void destroy( ) 终止线程
static int enumerate(Thread threads[ ]) 将当前线程组中的所有Thread对象的拷贝放入threads中。返回线程的个数
ClassLoader getContextClassLoader( ) 返回用于对这个线程加载类和资源的类加载程序(在Java 2中新增加的)
final String getName( ) 返回线程名
final int getPriority( ) 返回线程的属性设置
final ThreadGroup getThreadGroup( ) 返回调用线程是其中一个成员的ThreadGroup对象
void interrupt( ) 中断线程
static boolean interrupted( ) 如果当前执行的线程已经被预先设置了中断,则返回
true;否则,返回false
final boolean isAlive( ) 如果线程仍在运行中,则返回true;否则返回false
final boolean isDaemon( ) 如果线程是一个后台进程线程(Java运行系统的一部分),则返回true;否则返回false
boolean isInterrupted( ) 如果线程被中断,则返回true,否则返回false
final void join( )
throws InterruptedException
等待直至线程终止
续表
方法 描述
final void join(long milliseconds)
throws InterruptedException
等待直到为终止线程而指定的以毫秒计时的时间
final void join(long milliseconds, int nanoseconds)
throws InterruptedException
等待直到为终止线程而指定的以毫秒加毫微秒计时的时间
void run( ) 开始线程的执行
void setContextClassLoader(ClassLoader cl) 设置将被调用线程用于cl的类加载程序(在Java 2中新增加的)
final void setDaemon(boolean state) 标记线程为后台进程线程
final void setName(String threadName) 将线程的名字设置为由threadName指定的名字
final void setPriority(int priority) 设置由priority指定的线程优先权
static void sleep(long milliseconds)
throws InterruptedException
以指定的毫秒为单位的时间长度挂起执行的线程
static void sleep(long milliseconds,
int nanoseconds)
throws InterruptedException
以指定的毫秒加毫微秒为单位的时间长度挂起执行的线程
void start( ) 开始线程的执行
String toString( ) 返回线程的等价字符串形式
static void yield( ) 调用线程将CPU让给其他的线程

<<上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 下一页>>


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· Java2 参考大全:第13 章 字符串处理 (05-10)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
[政务][电信][金融][农业][制造业][中小企业]
[CIO][ERP][协同][IT管理][中间件][电子商务]
[政策][地方][专家][评估][辞典][博客][社区]
· 专题:一路畅通构想曲——让出行不再遭遇堵车
· CIO工作亲历:企业ERP选型不能忽视"选人关"
· 综述:信息化建设给中国监狱带来的各种变化
· 金融业风险管理和法规遵从有五点需考虑的因素
· 保险业CIO关注:该如何建立统一高效的CRM体系
· 调查显示:多数CIO对IT规划仍存在困惑和误解
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管