《Java语言程序设计》课件第8章 Java多线程编程.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《Java语言程序设计》课件第8章 Java多线程编程.pptx》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java语言程序设计 Java语言程序设计课件第8章 Java多线程编程 Java 语言程序设计 课件 多线程 编程
- 资源描述:
-
1、第八章第八章 JAVA JAVA多线程编程多线程编程本章学习要点本章学习要点 了解进程和线程的概念;掌握Thread类的使用;掌握Runnable接口的使用;熟悉线程的生命周期;了解线程同步;熟悉各种操作线程的方法;掌握停止线程的方法;掌握暂停线程的方法;熟悉线程的优先级和实现。8.1 JAVA 8.1 JAVA线程的概念线程的概念 世间万物都可以同时完成很多工作。例如,人体可以同时进行呼吸、血液循环、思考问题等活动。用户既可以使用计算机听歌,也可以编写文档和发送邮件,而这些活动的完成可以同时进行。这种同时执行多个操作的“思想”在Java中被称为并发,而将并发完成的每一件事称为线程。在Java
2、中,并发机制非常重要,但并不是所有程序语言都支持线程。在以往的程序中,多以一个任务完成以后再进行下一个任务的模式进行,这样下一个任务的开始必须等待前一个任务的结束。Java语言提供了并发机制,允许开发人员在程序中执行多个线程,每个线程完成一个功能,并与其他线程并发执行。这种机制被称为多线程。8.1 JAVA 8.1 JAVA线程的概念线程的概念 Java中的多线程在每个操作系统中的运行方式也存在差异,在此以Windows操作系统为例介绍其运行模式。Windows系统是多任务操作系统,它以进程为单位。一个进程是一个包含有自身地址的程序,每个独立执行的程序都称为进程,也就是正在执行的程序。系统可以
3、分配给每个进程一段有限的执行CPU的时间(也称为CPU时间片),CPU在这段时间中执行某个进程,然后下一个时间段又跳到另一个进程中去执行。由于CPU切换的速度非常快,给使用者的感受就是这些任务似乎在同时运行,所以使用多线程技术后,可以在同一时间内运行更多不同种类的任务。8.1 JAVA 8.1 JAVA线程的概念线程的概念 那么什么是线程呢?线程可以理解成是在进程中独立运行的子任务。比如,QQ.exe运行时就有很多的子任务在同时运行。像好友视频、下载文件、传输数据、发送表情等,这些不同的任务或者说功能都可以同时运行,其中每一项任务完全可以理解成是“线程”在工作,传文件、听音乐、发送图片表情等功
4、能都有对应的线程在后台默默地运行。8.2 JAVA 8.2 JAVA多线程的实现方式多线程的实现方式 8.2.1 8.2.1 继承继承ThreadThread类类 8.2.2 8.2.2 实现实现RunnableRunnable接口接口 8.2.1 8.2.1 继承继承THREADTHREAD类类 在学习如何实现多线程前,先来看看Thread类的结构,如下:public class Thread implements Runnable 从上面的源代码可以发现,Thread类实现了Runnable接口,它们之间具有多态关系。其实,使用继承Thread类的方式实现多线程,最大的局限就是不支持多继承
5、,因为Java语言的特点就是单根继承,所以为了支持多继承,完全可以实现Runnable接口的方式,一边实现一边继承。8.2.1 8.2.1 继承继承THREADTHREAD类类 构造方法方法方法说明说明Thread()Thread()分配一个新的 Thread对象。Thread(String name)Thread(String name)分配一个新的 Thread对象。name为其名称 Thread(Runnable target)Thread(Runnable target)分配一个新的 Thread对象。Thread(Runnable target,String name)Thread(
展开阅读全文