Thread_JavaCore.pptVIP

  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文档。上传文档
查看更多
Thread_JavaCore.ppt

L o g o 标题 线程 厦门卓越培训中心 教学目标 了解多线程的概念 掌握如何创建线程 了解死锁的概念 掌握线程同步 掌握使用 wait() 和 notify() 在线程之间进行通信 多任务处理 进程是指一种“自包容”的运行程序,有自己的地址空间;线程是进程内部单一的一个顺序控制流 基于进程的特点是允许计算机同时运行两个或更多的程序。 基于线程的多任务处理环境中,线程是最小的处理单位。 多任务处理有两种类型: - 基于进程 - 基于线程 基于线程的多任务处理的优点 基于线程所需的开销更少 在多任务中,各个进程需要分配它们自己独立的地址空间 多个线程可共享相同的地址空间并且共同分享同一个进程 进程间调用涉及的开销比线程间通信多 线程间的切换成本比进程间切换成本低 多线程 多线程 在Java中,一个应用程序可以包含多个线程。每个线程执行特定的任务,并可与其他线程并发执行 多线程使系统的空转时间最少,提高CPU利用率 多线程编程环境用方便的模型隐藏CPU在任务间切换的事实 主线程 在Java程序启动时,一个线程立刻运行,该线程通常称为程序的主线程。 主线程的重要性体现在两个方面: 它是产生其他子线程的线程。 通常它必须最后完成执行,因为它执行各种关闭动作。 主线程示例 class Mythread extends Thread { public static void main(String args[]) { Thread t= Thread.currentThread(); System.out.println(当前线程是: +t); t.setName(MyJavaThread); System.out.println(当前线程名是: +t); try { for(int i=0;i3;i++) { System.out.println(i); Thread.sleep(1500); } } catch(InterruptedException e) { System.out.println(主线程被中断); } } } 获得当前线程,即主线程 改变线程的内部名称 输出每个数后暂停1500毫秒 创建线程 2-1 通过以下两种方法创建 Thread 对象: - 声明一个 Thread 类的子类,并覆盖 run() 方法。 class mythread extends Thread { public void run( ) {/* 覆盖该方法*/ } } - 声明一个实现 Runnable 接口的类,并实现 run() 方法。 class mythread implements Runnable{ public void run( ) {/* 实现该方法*/ } } 创建线程 2-2 要触发一个新线程,使用 start() 方法,如: Mythread t = new Mythread(); t.start(); 在调用 start() 方法时,将创建一个新的控制线程,接着它将调用 run() 方法。 run() 方法中的代码定义执行线程所需的功能。 创建线程示例 class MyThread1 extends Thread { public static void main(String args[]) { Thread t= Thread.currentThread(); System.out.println(主线程是: +t); MyThread1 ex = new MyThread1(); ex.start(); } public void run() { System.out.println(子线程是:+this); } } 或者使用 implements Runnable 线程的状态 4-1 新建 (Born) : 新建的线程处于新建状态 就绪 (Ready) : 在创建线程后,start() 方法被调用后进入就绪状态 运行 (Running) : 线程在开始执行时进入运行状态 睡眠 (Sleeping) : 线程的执行可通过使用 sleep() 方法来暂时中止。在睡眠后,线程将进入就绪状态 线程的状态4-2 等待 (Waiting) : 如果调用了 wait() 方法,线程将处于等待状态。用于在两个或多个线程并发运行时。 挂起 (Suspended) : 在临时停止或中断线程的执行时,线程就处于挂起状态。 恢复 (Resume) : 在挂起的线程被恢复执

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档