面向对象程序设计第10章.ppt
《面向对象程序设计第10章.ppt》由会员分享,可在线阅读,更多相关《面向对象程序设计第10章.ppt(20页珍藏版)》请在三一办公上搜索。
1、第 10 章,多线程程序设计,线程的定义,进程是一个用来描述处于动态运行状态的应用程序的概念,即一个进程就是一个执行中的程序,每个进程都有一块自己独立的地址空间,并可以包含多个线程。这些线程将共享进程的地址空间及操作系统分配给这个进程的资源。线程是指进程中的一个执行流,多线程是指在一个进程中同时运行多个不同线程,每个线程分别执行不同的任务。,10.1 创建线程,创建线程的两种方法:利用Thread类创建线程 利用Runnable接口创建线程,1、利用Thread类创建线程,使用这种方式创建、启动线程的基本过程:声明一个Thread类的子类,并且覆盖其中的run()成员方法,并将线程执行的程序代
2、码写在其中。使用时通过调用Thread类提供的start()方法间接地使用它。,例:利用Thread类创建线程,public class MyThread_1 extends Thread public void run(),public class MultiThread_1 public static void main(String args)Thread t1=new MyThread_1();t1.setName(T1);Thread t2=new MyThread_1();t2.setName(T2);t1.start();t2.start();,2、利用Runnable接口创建线
3、程,使用这种方式创建、启动线程的基本过程:声明一个实现Runnable接口的类。以实现Runnable 接口的类对象为参数创建一个Thread 类对象。调用Thread类对象的start()方法启动线程。,例:利用Runnable接口创建线程,public class MyThread_2 implements Runnable public void run(),public class MultiThread_2 public static void main(String args)MyThread_2 thread=new MyThread_2();Thread threadObj=n
4、ew Thread(thread);threadObj.start();,10.2 线程状态的转换,一个线程的生命周期中,有四个状态,线程就是在这4个状态之间不断变换,直到死亡为止。,线程的优先级,每一个线程都有一个优先级,在Thread类中有3个常量MIN_PRIORITY、MAX_PRIORITY、NORMAL_PRIORITY分别表示优先级为1、10和5,它们代表最低优先级、最高优先级和普通优先级。可以调用Thread类的setPriority(int level)成员方法为某个线程设置优先级。例如,假设threadObj是一个Thread类对象,可以用 threadObj.setPri
5、ority(6);设置优先级。,10.3 线程控制,基本的线程控制方法启动线程 start()阻塞线程 wait()唤醒线程notify()或 notifyAll()或interrupt()线程让步 yield()等待其它线程结束join()判断线程是否处于活动状态isAlive(),10.4 多线程的同步与互斥,一般来说线程之间不是孤立的,多个线程可能共享某些资源。比如,一个线程要读取数据,另外一个线程要处理这些数据。因此,系统必须对线程进行同步控制,等到第一个线程读取完数据,第二个线程才能处理该数据,从而避免错误。简单地说,在一个时刻只能够被一个线程访问的资源称为临界资源,而访问临界资源的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 10
链接地址:https://www.31ppt.com/p-5674300.html