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()方法来调用这个线程mt子线程的创建和启动过程312Thread类构造方法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 mk:@MSITStore:D:\API\JDK_API_1.6_zh_中文.CHM::/java/lang/Object.htmlObject implements mk:@MSITStore:D:\API\JDK_API_1.6_zh_中文.CHM::/java/lang/Runnable.htmlRunnable【区别】继承Thread:线程代码存放Thread子类run方法中。实现Runnable:线程代码存在接口的子类的run方法。【实现方法的好处】1)避免了单继承的局限性2)多个线程可以共享同一个接口子类的对象,非常适合多个相同线程来处理同一份资源。练 习创建两个子线程,让其中一个输出1-100之间的偶数,另一个输出1-100之间的奇数。练 习在main方法中

文档评论(0)

此项为空 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档