下载此文档

第9章 多线程.ppt


文档分类:IT计算机 | 页数:约13页 举报非法文档有奖
1/13
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/13 下载此文档
文档列表 文档介绍
多线程
第九章
回顾
输入/输出流的概念和类层次结构
主要字节流的定义和使用
主要字符流的定义和使用
文件管理以及文件操作
对象串行化的概念和实现方法
了解其他常用流的定义和使用
2
目标
掌握多线程的概念
掌握如何创建线程
了解死锁的概念
了解线程同步
了解使用 wait() 和 notify() 在线程之间进行通信
3
多线程的概念
程序:静态的计算机高级语言编写的代码。
进程:程序的一次执行。
线程:程序中的部分代码的一次执行过程。
多进程:操作系统中多个程序同时执行。
多线程:程序中多个片断同时执行。
4
Java中的多线程
。这些方法分为:
构造方法。
run()方法。
改变线程状态的方法。
操作线程属性的方法。
5
线程的状态和生命周期
新建: 新建的线程处于新建状态
就绪: 在创建线程后,它将处于就绪状态,等待 start() 方法被调用
执行: 线程在开始执行时进入运行状态
阻塞:在线程等待一个事件时(例如输入/输出操作),就称其处于阻塞状态。
死亡:在 run() 方法已完成执行或其 stop() 方法被调用之后,线程就处于死亡状态。
新建状态
就绪状态
阻塞状态
运行状态
死亡状态
6
线程的调度和优先级
Java 中的线程优先级是在 Thread 类中定义的常量
NORM_PRIORITY : 值为 5
MAX_PRIORITY : 值为 10
MIN_PRIORITY : 值为 1
缺省优先级为 NORM_PRIORITY
有关优先级的方法有两个:
final void setPriority(int newp) : 修改线程的当前优先级
final int getPriority() : 返回线程的优先级
7
多线程的实现方法
通过以下两种方法创建 Thread 对象:
Thread 类的子类,并覆盖 run() 方法。
class mythread extends Thread {
public void run( ) {/* 覆盖该方法*/ }
}
Runnable 接口的类,并实现 run() 方法。
class mythread implements Runnable{
public void run( ) {/* 实现该方法*/ }
}
8
多线程的控制

stop()方法。

isAlive()方法。

sleep()
suspend()和resume()
join()
9
多线程的互斥
有时两个或多个线程可能会试图同时访问一个资源
例如,一个线程可能尝试从一个文件中读取数据,而另一个线程则尝试在同一文件中修改数据
在此情况下,数据可能会变得不一致
为了确保在任何时间点一个共享的资源只被一个线程使用,使用了“互斥”
两种方式实现互斥:
使用互斥方法
synchronized void methodA() { }
使用互斥块
synchronized(object) {
//要互斥的语句
}
10

第9章 多线程 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数13
  • 收藏数0 收藏
  • 顶次数0
  • 上传人中国课件站
  • 文件大小0 KB
  • 时间2011-09-06
最近更新