预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共24页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第十章多线程10.1什么是线程10.2一个简单的例子-110.2一个简单的例子-210.3定制线程类10.3.1继承线程类10.3.2实现Runnable接口10.4线程的生命周期10.4.1创建线程10.4.2启动线程10.4.3线程运行10.4.4线程阻塞10.4.5终止线程10.5线程中断10.6线程的优先级-110.6线程的优先级-210.6.1利己线程10.6.2分时方式10.7线程同步要使得线程p(生产者)和线程c(消费者)能够同步,需要达到以下两个目标: 第一,这2个线程不能同时对box对象进行操作。Java线程可以通过锁定一个对象来达到这个目的。当一个对象被某个线程锁定,而另一个线程想要调用这个对象中的同步方法的话,该操作将被阻塞,直到该对象被解锁。 第二,这2个线程必须协调工作。例如,线程p必须通过某种方式通知线程c当前的数字已经产生,并且在线程c取走数字之前,线程p不能再向box中写入数字,以免覆盖已有的数字;同时线程c也必须在取走数据之后,通知线程p可以重新写入新数据,并且在线程p写入新数字之前,线程c不能再次读取box中的数字,以免重复读取。线程类中提供了相应的wait、notify以及notifyAll方法来完成这些工作。10.7.1对象锁10.7.2可重入锁10.7.3notifyAll和wait方法代码阅读