下载此文档

Java语言PPT教学课件-第八章 线程.ppt


文档分类:IT计算机 | 页数:约48页 举报非法文档有奖
1/48
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/48 下载此文档
文档列表 文档介绍
第八章线程
本章导读
1. Java中的线程
2. 线程的生命周期
3. 线程的优先级与调度管理
4. Thread的子类创建线程



()、notify 和notifyAll


1、多线程基本概念
每个程序都有一个入口、一个出口以及一个顺序执行的序列,在程序执行过程中的任何指定时刻,都只有一个单独的执行点。
事实上,在单个程序内部是可以在同一时刻进行多种运算的,这就是所谓的多线程(这与多任务的概念有相似之处)。
线程并不是程序,它自己本身并不能运行,必须在程序中运行。在一个程序中可以实现多个线程,这些线程同时运行,完成不同的功能。
Ant
1、多线程基本概念
进程:程序的一次执行。
程序代码
程序数据
程序资源
线程:进程中程序代码的一个执行序列。
程序调用堆栈
线程局部变量
可共享访问进程中的数据和资源
操作系统按线程来调度程序的执行
1、多线程基本概念
两者的粒度不同,是两个不同层次上的概念。进程是由操作系统来管理的,而线程则是在一个程序(进程)内。
不同进程的代码、内部数据和状态都是完全独立的,而一个程序内的多线程是共享同一块内存空间和同一组系统资源,有可能互相影响。
线程本身的数据通常只有寄存器数据,以及一个程序执行时使用的堆栈,所以线程的切换比进程切换的负担要小。
1、多线程基本概念
文件
输入输出装置
各种系统资源
数据区段
程序区段
只有一个地方在执行
文件
输入输出装置
各种系统资源
数据区段
程序区段
同时有数个地方在执行
传统的进程
多线程的任务
1、多线程基本概念
1、多线程基本概念
多线程的优势:
多线程编程简单,效率高(能直接共享数据和资源,多进程不能)
适合于开发服务程序(如Web服务,聊天服务等)
适合于开发有多种交互接口的程序(如聊天程序的客户端,网络下载工具)
适合于有人机交互又有计算量的程序(如字处理程序Word,Excel)
Java线程
每个Java程序都有一个默认的主线程。
Java应用程序总是从主类的main方法开始执行。当JVM加载代码,发现main方法之后,就会启动一个线程,这个线程称做“主线程”,该线程负责执行main方法。那么,在main方法的执行中再创建的线程,就称为程序中的其他线程。
如果main方法中没有创建其他的线程,那么当main方法执行完最后一个语句,即main方法返回时,JVM就会结束Java应用程序。
如果main方法中又创建了其他线程,那么JVM就要在主线程和其他线程之间轮流切换,保证每个线程都有机会使用CPU资源。
main方法即使执行完最后的语句(主线程结束),JVM也不会结束程序,JVM一直要等到程序中的所有线程都结束之后,才结束Java应用程序。
Java线程
多线程和传统的单线程在程序设计上最大的区别在于,由于各个线程的控制流彼此独立,使得各个线程之间的代码是乱序执行的,由此带来线程调度、同步等问题需要解决。
应用程序
主线程
线程2
线程3
Java虚拟机(JVM)
JVM轮流调度主线程和其他线程
Java线程
虽然各种操作系统(Unix/Linux、Windows系列等)都支持多线程,但若要用C、C++或其他语言编写多线程程序是十分困难的,因为它们对数据同步的支持不充分。
对多线程的综合支持是Java语言的一个重要特色,它提供了Thread类来实现多线程。在Java中,线程可以认为是由三部分组成的:
虚拟CPU,,它控制着整个线程的运行;
执行的代码,传递给Thread类,由Thread类控制顺序执行;
处理的数据,传递给Thread类,是在代码执行过程中所要处理的数据。

Java语言PPT教学课件-第八章 线程 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数48
  • 收藏数0 收藏
  • 顶次数0
  • 上传人3346389411
  • 文件大小0 KB
  • 时间2012-05-07
最近更新