文档介绍:Java 的多线程机制
1
Java的多线程机制
主要内容
线程的概念
线程的生命周期
Java中多线程的编程
继承Thread类与使用Runnable接口
Thread类的主要方法
线程的同步与死锁
动画
2
Java的多线程机制
程序- 进程- 线程
程序是为完成特定任务、用某种语言编写的
一组指令的集合。指一段静态的代码。
进程是程序的一次执行过程,是系统进行调
度和资源分配的一个独立单位。
执行
就绪
等待
PCB
CPU
挂起
3
Java的多线程机制
程序-进程-线程
线程是比进程更小一级的执行单元。
一个进程在其执行过程中,可以产生多个线程,形
成多条执行线索。
每个线程也有它自身的产生、存在和消亡的过程,
也是一个动态的概念。
一个线程有它自己的入口和出口,以及一个顺序执
行的序列
线程不能独立存在,必须存在于进程中,各线程间
共享进程空间的数据。
线程—线程创建、销毁和切换的负荷远小于进程,
又称为轻量级进程(lightweight process)。
系统负担小,主要是CPU的分配。
4
Java的多线程机制
基本概念之一:进程
进程是正在运行的一个程序
程序:静态对象--进程:动态过程
操作系统为每个进程分配一段内存空间,
包括:代码、数据以及堆栈等资源
多任务的操作系统(OS)中,进程切换对
CPU资源消耗较大
5
Java的多线程机制
基本概念之二:多线程
多线程是指同时存在几个执行体,按几条不
同的执行线索共同工作的情况。
多线程实现单个进程中的并发计算。
各线程间共享进程空间的数据,并利用这些
共享单元来实现数据交换、实时通信与必要
的同步操作。
多线程的程序能更好地表述和解决现实世界
的具体问题,是计算机应用开发和程序设计
的一个必然发展趋势。
6
Java的多线程机制
进程与多线程
单线程
多线程
进程
传统进程
多线程进程
7
Java的多线程机制
线程的调度
调度策略
时间片
抢占式:高优先级的线程抢占CPU
Java的调度方法
同优先级线程组成先进先出队列,使用时间片策略
对高优先级,使用优先调度的抢占式策略
1
2
8
Java的多线程机制
Java与多线程
Java语言的一个重要功能特点就是内置对多
线程的支持,它使得编程人员可以很方便地
开发出具有多线程功能,能同时处理多个任
务的功能强大的应用程序。
每个Java程序都有一个隐含的主线程
application main 方法
Applet小程序,主线程指挥浏览器加载并执
行 Java小程序。
9
Java的多线程机制
线程的概念模型
线程控制
(虚拟CPU)
线程代码
线程的三个组成部分
被操作数据
10
Java的多线程机制