1 / 47
文档名称:

多线程程序设计.ppt

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

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

分享

预览

多线程程序设计.ppt

上传人:lizhencai0001 2018/6/1 文件大小:221 KB

下载得到文件列表

多线程程序设计.ppt

相关文档

文档介绍

文档介绍:第17讲多线程程序设计
线程的概念
线程的创建
线程调度与线程控制
线程同步
线程状态与生命周期
1
学****任务:了解并掌握JAVA多线程程序设计的方法
学****任务:编写一个秒表程序,实现开始计时、暂停、清零等功能。(要求使用swing实现图形用户界面)
2
程序与进程
程序
是指令的集合,包括对数据的描述以及对数据的操作,告诉计算机如何完成一个任务。
进程:
进程是一个程序的一次动态执行过程。一个进程具有一组完整的、私有的基本运行时资源,特别是内存空间是独立的,不会与其他进程共享。
一个程序可以被运行多次,从而产生多个进程。
3
线程
线程
线程是进程中的一个执行流(处理器执行程序指令)。因此,线程是处理器的调度单位。一个进程至少有一个线程,也可以有多个线程。如果有多个线程,则这些线程共享该进程的资源(包括内存和打开的文件)。程序的执行从一个线程开始,这个线程称为主线程。
在一个进程中创建多个线程的目的是为了让这些线程可以“并发”执行,从而使一个进程“同时”执行多个任务。在多处理器(或多核)系统中,这种并发是真实的。在单处理器系统中,这种并发是通过线程的交替执行来模拟的。
4
多任务与多线程
多任务
在系统中“同时”运行多个程序。在单处理器系统中,这是通过交替执行来实现“同时”的。在操作系统中,为了实现多任务,要进行进程的并发控制。
在一个进程中让不同的线程执行不同的任务,也可以实现多任务。这是因为并发控制仅涉及到处理器的调度,因而并发控制更为简单。
5
CPU
Code
Data
一个虚拟的CPU,
代码所操作的数据:数据也可以
被多个线程共享。
该CPU执行的代码:
代码与数据是相互独立的,代
码可以与其它线程共享。
 Java 中线程被认为是一个CPU、程序代码、和数据
的封装体。
Java中的线程
代码与数据被称为线程体
6
 。其声明如下:
public class Thread extends Object implements Runnable
在Java中,虚拟CPU是自动封装进Thread类的实例中,线程体则通过实现Runnable接口来提供。由于Thread已经实现了Runnable接口,因此可以编写一个Thread的子类,覆盖其实现的run()方法来提供线程体。
可以单独编写一个实现Runnable接口的类,再将其对象传给Thread类的构造函数来提供线程体。
线程类Thread
7
线程体接口Runnable
Runnable的定义:
Interface Runnable
{ void run();}

线程体决定了线程的行为。有两种方式定义线程体:
实现 Runnable 接口
继承 Thread 类。
8
 Runnable 接口只提供了一个public void run( )方法。
定义一个类实现Runnable接口。
将该类的实例作为参数传给Thread类的一个构造函数,
从而创建一个线程。
通过实现Runnable接口创建线程
9
public class ThreadTest{
public static void main(String args[ ]){
Xyz r= new Xyz( );
Thread t = new Thread( r );
( );
}
}
Class Xyz implements Runnable{
int i ;
public void run( ){
while( true){
(“Hello”+i++);
if (i==5) break ;
}
}
}
线程创建示例
10