《Java开发实战经典》教师讲解030902 线程常用操作方法.pptVIP

《Java开发实战经典》教师讲解030902 线程常用操作方法.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA 应用开发详解 第9章:多线程 —— 线程常用操作方法 本章目标 了解设置和取得线程名称 了解线程的强制运行 了解线程的休眠 了解线程的礼让 了解线程的中断操作 线程操作的主要方法 取得和设置线程名称 在Thread类中,可以通过getName()方法取得线程的名称,通过setName()方法设置线程的名称。 线程的名称一般在启动线程前设置,但也允许为已经运行的线程设置名称。允许两个Thread对象有相同的名字,但为了清晰,应该尽量避免这种情况的发生。 另外,如果程序并没有为线程指定名称,则系统会自动的为线程分配一个名称。 设置和取得线程的名字 程序说明 从运行结果中发现没有设置线程名称的其余三个线程对象的名字都是很有规律的:Thread-0、Thread-1、Thread-2,从之前讲解的static关键字可以知道,在Thread类中必然存在一个static类型的属性,用于为线程自动命名。 观察程序的输出 判断线程是否启动 通过Thread类之中的start()方法通知CPU这个线程已经准备好启动,之后就等待分配CPU资源,运行此线程了。那么如何判断一个线程是否已经启动了呢?在Java中可以使用isAlive()方法来测试线程是否已经启动而且仍然在启动。 判断线程是否启动 线程的强制运行 在线程操作中,可以使用join()方法让一个线程强制运行,线程强制运行期间,其他线程无法运行,必须等待此线程完成之后才可以继续执行。 线程的强制运行 线程的休眠 在程序中允许一个线程进行暂时的休眠,直接使用Thread.sleep()方法即可。 线程的休眠 中断线程 当一个线程运行的时候,另外一个线程可以直接通过interrupt()方法,中断其运行状态。 线程的中断 后台线程 在Java程序中,只要前台有一个线程在运行,则整个java进程都不会消失,所以此时可以设置一个后台线程,这样即使Java进程结束了,此后台线程依然会继续执行。要想实现这样的操作,直接使用setDaemon()方法即可。 后台线程的设置 线程的优先级 在Java的线程操作中,所有的线程在运行前都会保持在就绪状态,那么此时,那个线程的优先级高,那个线程就有可能会先被执行。 线程优先级 在Java的线程中使用setPriority()方法可以设置一个线程的优先级,在Java的线程中一共有以下三种优先级 测试线程优先级 主方法的优先级是NORM_PRIORITY 线程的礼让 在线程操作中,也可以使用yield()方法将一个线程的操作暂时让给其他线程执行。 线程的礼让 下一章内容 E-MAIL:mldnqa@163.com ? MLDN 软件教学研发部 MLDN 软件教学研发部 更改线程的优先级 普通 public final void setPriority(int newPriority) 18 将一个线程设置成后台运行 普通 public final void setDaemon(boolean on) 17 将目前正在执行的线程暂停,允许其它线程执行 普通 public static void yield() 16 开始执行线程 普通 public void start() 15 使目前正在执行的线程休眠millis毫秒 普通 public static void sleep(long millis) throws InterruptedException 14 设定线程的优先值 普通 public final void setPriority(int newPriority) 13 设定线程名称 普通 public final void setName(String name) 12 执行线程 普通 public void run() 11 等待millis毫秒后,线程死亡 普通 public final synchronized void join(long millis) throws InterruptedException 10 等待线程死亡 普通 public final void join() throws InterruptedException 9 判断线程是否在活动,如果是,返回true,否则返回false 普通 public final boolean isAlive() 8 判断目前线程是否被中断,如果是,返回true,否则返回false 普通 public boolean isInterrupted() 7 发挥线程的优先级 普通 public final int getPriority() 6 返回线程的名称 普通 public final String getName()

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档