- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.理解进程和线程的概念,学习java中线程的使用 ;2.掌握线程...【推荐-PPT】
1.理解进程和线程的概念,学习java中线程的使用 ;
2.掌握线程的状态和生命周期、线程的调度和控制方法;
3.理解多线程的互斥和同步的实现原理,以及多线程的应用,能够熟练编写关于线程、线程间的同步与通信的小程序 ;9.1 多线程的概念;线程和进程有很多相似的特征,线程可以被看作是进程的进一步细分,也就是把进程完成的任务划分成一个个更小的子任务,每一个子任务就是一个线程,然后用细分的这些线程分别去执行。线程是基于进程的一个基本运行单位,线程同样包括一个内存入口点地址、一个出口点地址以及能够顺序执行的代码序列。但是线程与进程的重要区别在于线程不能够单独执行,它必须运行在处于活动状态的进程中,线程本身的数据通常只有微处理器的寄存器数据以及一个供程序执行时使用的堆栈,因此可以定义线程是程序内部的顺序代码流,也就是说线程是在进程作用域内活动的一系列指令流,所以线程也被称为轻型进程(Light Weight Process,LWP)。;多线程; (a)单线程程序;Java中的多线程机制;对多线程的综合支持是Java语言的一个重要特色,在Java中,内置了Thread类来实现多线程,当程序引用了java.lang.Thread类,也就引入了一个Java执行环境。由图9.2可知,一个线程是由三部分组成的:
虚拟处理机(CPU),封装在java.lang.Thread类中,它控制着整个线程的运行,提供对多线程的支持;
执行的程序代码,传递给Thread类,由Thread类控制顺序执行;
程序所处理的数据,传递
给Thread类,是在代码执
行过程中所要处理的数据。;在Java编程中,虚拟处理机(CPU)被封装在Thread线程类的实例之中。这样一来,有多少个需要完成的子任务(线程)就有多少个虚拟CPU这样的“虚拟计算机”在同时运行,把一个较大的任务分割成许多较小的子任务分别地、“同时”地去完成,这就是Java多线程机制。
Java的线程是通过java.lang包中定义的类Thread来实现的。当生成一个Thread类的对象之后,就产生了一个线程,通过该对象实例,可以启动线程、终止线程、或者暂时挂起线程等。由于Java在语言级提供了对线程的支持,所以在Java语言中使用多线程要远比在其它语言中使用线??简单得多。;9.2 线程类及其线程创建;在线程构造方法中,每个参数都可以为空,当上述构造方法的某个参数为null时,就可以得到下面的几个构造方法:
public Thread();
public Thread(String name);
public Thread(Runnable target);
public Thread(Runnable target,String name);
public Thread(ThreadGroup group,String name);
public Thread(ThreadGroup group,Runnable target); ;Thread类中也有许多有用的方法,在这里只介绍部分常用的方法:
1. public static void yield();引起当前执行线程暂停,允许其他线程执行。
2. public static void sleep(long millis);使当前执行的线程睡眠指定的时间。参数millis是线程睡眠的毫秒数。如果这个线程已经被别的线程中断,就会产生InterruptedException异常。
3. public void start();使线程由新建状态变成可运行状态。
4. public void run();如果线程实例是使用实现了Runnable接口的类的实例创建的,就调用这个类的实例的run( )方法,否则什么都不做并返回。
5. public final void stop();停止(杀死)当前线程。
6. public final void wait();返回当前线程所在的线程组中的线程的数目
7. public final boolean isAlive();测试线程是否处于活动状态,即已启动,但还没有终止。
8. public final void setPriority(int new);改变线程的优先级。
9. public static Thread currenthread();返回当前执行线程对象的引用。
10. public final void notify();唤醒一个等待中的线程。
11. public final void notifyAll();唤醒所有处于等待中的线程。;线程的创建;1.扩展Thread类
类Thread位于java.lang包中,由于java.lang包自动被导入每个Java程序中,
您可能关注的文档
- ...一定格式并相互联系在一起的账页组成,以会计凭证为依....ppt
- ...世新大学行政管理学系教授兼主任台湾透明组织执行长.ppt
- ...周五前试卷和实验报告用A4纸打印或手写交卷地址:图书馆....ppt
- ...唯美大气喜宴桌数:50桌左右婚礼色调::香槟色+红色+绿....ppt
- ...德育教材研究专业组组长南京铁道职业技术学院(苏州校区....ppt
- ...按期禀赋发展出特定的动作型态。2.发展方向原则:「由头....ppt
- ...研究员苏州大学教育硕士(历史)兼职导师全国历史教学研....ppt
- ...程的行动纲领——江苏省第十二次党代会精神解读 桑学成.ppt
- ...(第八届全国学校体育科学大会学校体育专题主报告).ppt
- 00酶工程框架-10.ppt
- 2025年一级建造师考试《水利水电工程管理与实务》冲刺必刷卷.docx
- 2025年一级建造师考试《水利水电工程管理与实务》逆袭破题卷1.docx
- 2025年一级建造师考试《市政工程管理与实务》冲刺必刷卷 .docx
- 2025年一级造价工程师考试《建设工程计价》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价管理》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价案例分析(安装专业)》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价案例分析(土建专业)》预习卷.docx
- 2025年中级会计考试《会计实务》冲刺提分卷.docx
- 2025年中级会计考试《财务管理》冲刺提分卷.docx
- 2025年中级会计考试《财务管理》全真模拟卷.docx
最近下载
- 2024年出版专业资格考试《基础知识》(中级)真题及答案.pdf VIP
- 高壓电机修理质量过程控制管理办法.doc VIP
- 2025年河北石家庄学院公开选聘事业单位工作人员25名备考题库及答案解析.docx VIP
- 鼻炎中医PPT课件.pptx VIP
- 新能源基础知识PPT精品课件-.pptx VIP
- 2025年河北石家庄辛集市事业单位公开招聘工作人员191名备考题库及答案解析.docx VIP
- 2025年南京江北新区公开招聘社区工作者60人笔试备考题库及答案解析.docx VIP
- 一年级上册生字练字帖.docx VIP
- 2025年天翼云解决方案架构师认证考试题库-上(单选题汇总).docx VIP
- 克莱门特w3000用户手册(中文版).pdf VIP
文档评论(0)