1 / 82
文档名称:

Java高级编程.ppt

格式:ppt   大小:279KB   页数:82
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Java高级编程.ppt

上传人:xinsheng2008 2016/9/14 文件大小:279 KB

下载得到文件列表

Java高级编程.ppt

文档介绍

文档介绍:第五章第五章JavaJava高级编程高级编程? Java多线程机制? 输入输出流类? Java多线程机制多线程机制?Java语言从设计之初,就考虑到对多线程的支持,因而在系统级和语言级均提供了对多线程的支持。?使用多线程的优点就是:当程序中有多个可执行线程时,能够充分利用系统资源,提高程序执行效率。?本小结介绍多线程应用程序的设计方法。(一)(一)?线程是比进程更小的单位,是应用程序中的一个可执行线索,多线程就是同一个应用程序中有多个可执行线索,它们可以并发执行。?前面介绍的所有例程都是单线程的,即一个应用程序只存在一个可执行线索。在执行过程中,如果某部份代码因为等待某个I/O操作而受阻,则程序的其他部分即使与此无关也不能执行,这样就严重地浪费了CPU资源。多线程机制的提出就是为了解决这个问题。(二)(二)?回忆一下多进程并行执行的情况,在CPU上执行的某个进程因为等待某种资源而受阻时,多任务操作系统可以使该进程挂起,而根据某种调度原则启动另外一个不同的进程执行,直到前一进程获得其所需资源,才唤醒该进程,让它继续执行。?这样,在多任务操作系统的调度下,可以让多个进程并行执行,能够较好地利用CPU资源,但仍然难以满足现代应用程序的需要。?例如,需要在同一应用程序中完成声音播放、图像显示、网络文件下载等多项工作,如果使用传统的单线程程序,就只能顺序的逐一实现,而使用多线程方法则可以并发实现。(三)(三)?多线程就是同一程序中多个任务的并发实现。它与进程有相似之处,可以动态的生成或销毁等,它们之间的差别主要体现在如下两个方面:?作为基本的执行单元,线程的划分比进程小,因此,支持多线程的系统要比只支持多进程的系统并发程度高。?进程把内存空间作为自己的资源之一,每个进程均有自己的内存单元。线程却共享内存单元,通过共享的内存空间来交换信息,从而有利于提高执行效率。?由于线程划分更小,涉及的资源更少,因而使用更加灵活、方便。(四)(四)?应用程序中的多个线程能够并发执行,但从系统的内部来看,所有线程仍然是串行的一个一个地执行,那么如何来决定哪一个线程先执行,哪一个线程后执行呢??Java引入了优先级的概念,优先级就是线程获得CPU而执行的优先程度,优先级越高,获得CPU的权力越大,执行的机会越多,执行的时间也越长。(五)(五)?Java把优先级划分为10级,用1至10的整数表示,数值越大,优先级越高。在创建线程时,可以为线程分配优先级。?在Thread类中定义了三个优先级常量:MIN_PRIORITY, MAX_PRIORITY和NORM_PRIORITY,其值分别为1, 10, 5。?在为线程分配优先级时,其值应该在1至10之间,否则将出错。?如果应用程序没有为线程分配优先级,则Java系统为其赋值为NORM_PRIORITY。(六)(六)?调度就是分配CPU资源,确定线程的执行顺序。?Java采用抢占式调度方式,即高优先级线程具有剥夺低优先级线程执行的权力。?如果一个低优先线程正在执行,这时出现一个高优先级线程,那么低优先级线程就只能停止执行,放弃CPU,推回到等待队列中,等待下一轮执行,而让高优先级线程立即执行。?如果线程具有相同的优先级,则按"先来先服务"的原则调度。(七)(七)?理解了Java的抢占式调度策略后,在设计程序时,应该让高优先级线程执行一段时间后,能够交出使用权,放弃CPU。?有两个方法可以达到这一目的:?一是调用sleep()方法,暂时进入睡眠状态,从而让出CPU,使有相同优先级线程和低优先级线程有执行的机会。?二是调用yield()而放弃CPU,这时和它有相同优先级的线程就有执行的机会。(八)(八)?每个Java程序都有一个缺省的主线程:?对于Application,主线程是main方法执行的线索;?对于Applet,主线程指挥浏览器加载并执行Java小程序。?要想实现多线程,必须在主线程中创建新的线程对象。Java语言使用Thread类及其子类的对象来表示线程。

最近更新

2026年干部廉政知识测试题及答案(必刷) 15页

2026年艺考笔试题库200道附参考答案【实用】 78页

2025福建省能源石化集团有限责任公司秋季招聘.. 48页

2026年数组c语言考试题库(典优) 13页

基于社会性科学议题的初中跨学科教学——以“.. 31页

基于OBE的新能源汽车技术专业人才培养模式探索.. 6页

湖南省长沙市长郡中学2025-2026学年高一上学期.. 13页

2025广东中共东莞市委外事工作委员会办公室招.. 45页

2025广东茂名市电白区事业单位面向驻茂部队未.. 50页

2025湖南高速设计咨询研究院有限公司招聘劳务.. 45页

2025西安曲江新区社区医疗中心招聘(5人)备考.. 47页

2025辽宁沈阳大学和沈阳开放大学面向社会招聘.. 44页

2025重庆市九龙坡区土地整治储备中心招聘参考.. 49页

2025黑龙江省中医药科学院哈尔滨市南岗区曲线.. 45页

2026中能建城市投资发展有限公司校园招聘参考.. 46页

2026山西省面向中南财经政法大学选调优秀高校.. 49页

2026年(完整版)C语言选择题题库(考点梳理) 13页

2026年c语言专科期末测试题及答案(必刷) 13页

2026年c语言循环程序设计题目完整参考答案 13页

2026年c语言期末考试题库a4版 13页

2026年c语言测考试题库精选 13页

2026年c语言知识试题(有一套) 13页

2026年c语言竞赛测试题(综合题) 13页

ALC墙板蒸压加气轻质混凝土板材安装施工方案及.. 3页

腰椎康复操ppt 27页

机械制图大连理工大学工程图学教研室第六版第.. 55页

中国明朝档案总汇-袁姓 52页

空预器LCS培训文件 68页

2020年MS-EEPO基本功I型小讲座 19页

医用高压氧舱安全管理与应用规范 2018年版 32页