第十二章多线程
本章的重点内容:
1 、线程的概述
2 、线程的生命周期
3 、线程的代码实现
4 、线程的同步
线程的概述
为什么要实现多线程编程:
1 、单线程编程的弊端:以往我们开发的大多数程序都是单线程的,
即程序有一个执行点,只有一条从头到尾执行的线索。
2 、多线程编程的优越性:程序有多个执行点,按照几条不同的
线索共同的工作。
线程的概念:
1 、进程:
2 、线程:
3 、线程的分类:
4 、线程的基本特点:
5 、线程的优先级:
线程的生命周期
线程的生命周期也可以理解为线程状态的改变,分为
以下几个状态:
1 、新建态:
2 、就绪态:
3 、运行态:
4 、阻塞 / 挂起态:
5 、终止态:
线程的代码实现
Java 语言中多线程的实现分为两种形式:
1 、继承 Thread 类:重写 Thread 类中 run 方法。
实例 1 :在主线程中打印整数 1 到 50 ,创建一个线程打印整数 1 到 50 ,
观察程序的运行状态。
2 、实现 Runnable 接口,并实现 run 方法。
实例 2 :在主线程中打印整数 1 到 50 ,创建一个线程打印整数 1 到 50 ,
观察程序的运行状态。
课堂练习:要求实现 Runnable 接口,编程实现
测试打字速度的 GUI 界面的应用程序
3 、查看 Thread 类库,了解其他方法的使用
作业:通过多线程实现龟( Tortoise )兔( Rabbit )
赛跑:赛程为 1000 米,兔子每 100 毫秒跑 100 米,
乌龟每 100 毫秒跑 10 米,当兔子跑到 900 米时开
始睡觉,乌龟跑到终点时,唤醒兔子。
线程同步
线程同步概念:
当两个或多个线程对同一共享数据访问的时候大家可以设想一下
会出现怎样的情况呢?
线程同步是指两个或多个线程访问同一个对象时,我们将这个
对象称为共享资源,为了确保共享资源在某一个时刻内只能被
一个对象访问,达到这个目的的方式称为线程的同步:
参考下面这个例子:
现在有一个仓储部门,一个生产车间,和一个销售部门,要求不能
存在产品积压情况即仓库只能有一个产品,也不能出现预售情况即
销售部门每次也只能卖一个产品。
评论1
最新资源