网站大量收购闲置独家精品文档,联系QQ:2885784924

JSE13(多线程)研究报告.pptx

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第13章 多线程 讲师:李玉婷 本章内容 第一节 线程的概念与原理 第二节 线程的创建、运行和结束 第三节 线程的控制 第四节 线程同步 第五节 线程通信 第一节 线程的概念与原理 基本概念:程序 - 进程 - 线程 程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 进程(process)是程序的一次执行过程,或是正在运行的一个程序。动态过程:有它自身的产生、存在和消亡的过程。 如:运行中的QQ,运行中的MP3播放器 程序是静态的,进程是动态的 线程(thread),进程可进一步细化为线程,是一个程序内部的一条执行路径。 若一个程序可同一时间执行多个线程,就是支持多线程的 进程与多线程 每个Java程序都有一个隐含的主线程: main 方法 何时需要多线程 程序需要同时执行两个或多个任务。 程序需要实现一些需要等待的任务时,如用户输入、文件读写操作、网络操作、有哪些信誉好的足球投注网站等。 需要一些后台运行的程序时。 使用多线程的优点 背景:只使用单个线程完成多个任务(调用多个方法),肯定比用多个线程来完成用的时间更短,为何仍需多线程呢? 多线程程序的优点: 提高应用程序的响应。对图形化界面更有意义,可增强用户体验。 提高计算机系统CPU的利用率 改善程序结构。将既长又复杂的进程分为多个线程,独立运行,利于理解和修改 第二节 线程的创建、运行和结束 线程的创建和启动 public class Sample { public void method1(String str){ System.out.println(str); } public void method2(String str){ method1(str); } public static void main(String[] args) { Sample s = new Sample(); s.method2(hello!); } } 多线程的创建和启动 Java语言的JVM允许程序运行多个线程,它通过java.lang.Thread类来实现。 Thread类的特性 每个线程都是通过某个特定Thread对象的run()方法来完成操作的,经常把run()方法的主体称为线程体 通过该Thread对象的start()方法来调用这个线程 1 2 3 mt子线程的创建和启动过程 Thread类 构造方法 Thread():创建新的Thread对象 Thread(String threadname):创建线程并指定线程实例名 Thread(Runnable target):指定创建线程的目标对象,它实现了Runnable接口中的run方法 Thread(Runnable target, String name):创建新的Thread对象 Thread类的有关方法(1) void start(): 启动线程,并执行对象的run()方法 run(): 线程在被调度时执行的操作 String getName(): 返回线程的名称 void setName(String name):设置该线程名称 static currentThread(): 返回当前线程 创建线程的两种方式 继承Thread类 1) 定义子类继承Thread类。 2) 子类中重写Thread类中的run方法。 3) 创建Thread子类对象,即创建了线程对象。 4) 调用线程对象start方法:启动线程,调用run方法。 2. 实现Runnable接口 1)定义子类,实现Runnable接口。 2)子类中重写Runnable接口中的run方法。 3)通过Thread类含参构造器创建线程对象。 4)将Runnable接口的子类对象作为实际参数传递给 Thread类的构造方法中。 5)调用Thread类的start方法:开启线程,调用 Runnable子类接口的run方法。 创建线程的两种方式 继承方式和实现方式的联系与区别 public class Thread extends Object implements Runnable 【区别】 继承Thread: 线程代码存放Thread子类run方法中。 实现Runnable:线程代码存在接口的子类的run方法。 【实现方法的好处】 1)避免了单继承的局限性 2)多个线程可以共享同一个接口子类的对象,非常适合多个相同线程来处理同一份资源。 练 习 创建两个子线程,让其中一个输出1-100之间的偶数,另一个输出1-100之间的奇数。 练 习 在main方法中创建并启动一个线程,该线程随机产生100个0-100整数,打印后结束; 在main方

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档