- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ldquo;Java语言程序的设计实验指教rdquo;电子教案第08章节ldquo;Java语言程序的设计实验指教rdquo;电子教案第08章节ldquo;Java语言程序的设计实验指教rdquo;电子教案第08章节
第8章 多线程编程
支持多线程编程是Java语言的又一大特色。多线程是相对于进程或单线程而言的,它具有并发性、执行效率高的特点。本章将对Java中的多线程编程作初步介绍。
8.1 多线程编程概述
8.2 线程的创建
8.3 线程的优先级
8.4 线程同步
8.5 线程间通信
8.6 线程的控制
[Return]
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
8.1 多线程编程概述
本节介绍多线程编程的基础知识,包括多线程的基本概念、Java的线程模型(线程优先级、同步性、消息传递)等方面的内容。
8.1.1 什么是多线程
8.1.2 Java线程模型
[Return]
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
8.1.1 什么是多线程
同其他大多数编程语言不同,Java内置支持多线程编程(multithreaded programming)。多线程程序包含两条或两条以上并发运行的部分,把程序中每个这样的部分都叫作一个线程(thread)。每个线程都有独立的执行路径,因此多线程是多任务处理的一种特殊形式。
读者可能知道多任务处理,它实际上被所有的现代操作系统所支持。然而,多任务处理有两种截然不同的类型:基于进程的和基于线程的。搞清楚两者的区别是很重要的。对大多数读者来说,基于进程的多任务处理是更熟悉的形式。进程(process)本质上是一个执行的程序。因此基于进程的多任务处理的特点是允许你的计算机同时运行两个或更多的程序。举例来说,基于进程的多任务处理使你在运用文本编辑器的时候可以同时运行Java编译器。在基于进程的多任务处理中,程序是调度程序所分派的最小代码单位。
而在基于线程(thread-based)的多任务处理环境中,线程是最小的执行单位。这意味着一个程序可以同时执行两个或者多个任务的功能。例如,一个文本编辑器可以在打印的同时格式化文本。所以,多进程程序处理“大图片”,而多线程程序处理细节问题。
[Return]
多线程程序比多进程程序需要更少的管理费用。进程是重量级的任务,需要分配给它们独立的地址空间。进程间通信是昂贵和受限的。进程间的转换也是很需要花费的。另一方面,线程是轻量级的选手。它们共享相同的地址空间并且共同分享同一个进程。线程间通信是便宜的,线程间的转换也是低成本的。当Java程序使用多进程任务处理环境时,多进程程序不受Java的控制,而多线程则受Java控制。
多线程可帮助你编写出CPU最大利用率的高效程序,使得空闲时间保持最低。这对Java运行的交互式的网络互连环境是至关重要的,因为空闲时间是公共的。例如,网络的数据传输速率远低于计算机处理能力,而本地文件系统资源的读写速度也远低于CPU的处理能力。当然,用户输入也比计算机慢很多。在传统的单线程环境中,程序必须等待每一个这样的任务完成以后才能执行下一步——尽管CPU有很多空闲时间。多线程使你能够获得并充分利用这些空闲时间。
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
8.1.2 Java线程模型
Java运行系统在很多方面依赖于线程,所有的类库设计都考虑到多线程。实际上,Java使用线程来使整个环境异步。这有利于通过防止
您可能关注的文档
- §1-4自然坐标表示速度与加速度.ppt
- §1-2位置变化的描述——位移.ppt
- §12—6麦克斯韦速率分布.ppt
- §1—2心理健康doremI.ppt
- §1-5速度的变化快慢的描述——加速度[xg].ppt
- §1-2 时间与位移.ppt
- §5—2合金钢的分类与牌号.ppt
- §6-2万有引力定律.ppt
- §5-2角动量的时间变化率力矩[续].ppt
- ·郁天缘小组诗四首演示课件.ppt
- 2025年中考语文写作专项复习:作文分类之考场议论文技法指导课件.pptx
- 6.19.3+植物的生殖方式课件2024-2025学年北师大版生物八年级上册.pptx
- 3.14丝绸之路的开通与经营西域+课件--2024-2025学年统编版七年级历史上册.pptx
- 3.15+秦汉时期的科技与文化++课件++2024-2025学年统编版七年级历史上册.pptx
- Unit 2 We’re FamilySection B 1a-2b课件-2024-2025学年鲁教版 五四制六年级英语上册.pptx
- 20.曹刿论战 第1课时.pptx
- +Unit5+Project++Reading+Plus课件++-+2024-2025学年人教版英语七年级上册.pptx
- 1.3+太平天国运动+课件--+2024-2025学年统编版八年级历史上册.pptx
- Module+10+Unit+1+It+might+snow+课件+2024-2025学年外研版英语八年级上册.pptx
- Unit7+ ?Section+B1a-1e课件+2024-2025学年人教版英语八年级上册+.pptx
文档评论(0)