知识大全 Java2入门经典教程 11.2 管理线程[8]
Posted 知
篇首语:业无高卑志当坚,男儿有求安得闲?本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java2入门经典教程 11.2 管理线程[8]相关的知识,希望对你有一定的参考价值。
Java2入门经典教程 11.2 管理线程[8] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
线程间通信
我们已经看到如何使用同步锁住方法或代码块 避免导致末控制线程在程序中执行 虽然这给我们某周程度的控制 我们的程序仍是低效的在最后一个例子中 在当前线程可以介理地继续工作前 有一些在我们用循环等待一个职员线程完成一个操作的机会 例如 当Clerk对象仍忙于处理前一个线程时 我们不能将一个交易交给这个对象 解决的方法是用一个while循环一次次地测试Clerk对象的繁忙状态并存两次测试之间调用sleep()方法 但有一个更好的方法
Object类定义了wait() notify()和notifWAll()方法 你可以用这些方法为处理这种情况提供更有效的方法 因为所有的类由Object派生 所以所有的类继承了这些方法你可以在synchronized方法或一个同步代码块中调用这些方法 如果你没有这么做 会抛出一个IIlegalMonitrstateException类型的异常 这些方法执行的功能是
wait()和notify()方法的基本思想是为针一对一个特定的对象被同步的方法或代码块提供通信方 一个块可以调用wait()挂起它的操作直到针对同一对象的其他同步方法或代码块用某种方式改变它 并调用nntify()知这个变化完成了 因为与之同步的对象的某些特性没有被设置或没有满足某此条件 一个线程会有代表性地调用wait() 这依赖于另一个线程的行动 也许最简单的情况是由于几一个资源正被另一个线程修改所以处于繁忙 但你决不会受限于此
cha138/Article/program/Java/gj/201311/27743相关参考
Java2入门经典教程11.2管理线程[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
Java2入门经典教程11.2管理线程[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
Java2入门经典教程11.2管理线程[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
Java2入门经典教程11.2管理线程[9] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
Java2入门经典教程11.2管理线程[7] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
Java2入门经典教程11.2管理线程[6] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
Java2入门经典教程11.2管理线程[5] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
Java2入门经典教程11.1了解线程[8] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
Java2入门经典教程11.1了解线程[5] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
Java2入门经典教程11.1了解线程[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs