Java语言中内建了对于多线程的支持,可以非常方便的创建、控制线程以及在线程之间进行同步操作。另外,为了支持更为高级的线程间同步机制,比如:类似于POSIX中的条件变量,Java在Object类中提供了wait、notify和notifyAll方法,使得所有的类都隐式的继承了这些方法。特别地,为了提供对于程序健壮性方面的考虑,在Java中提供了对于wait方法超时语意的支持。但是Java在对于wait方法超时语意的支持方面存在模糊性,即在调用具有超时语意的wait方法返回时,无法区分是由于notify的通知还是由于超时触发的。因此应用开发者在构建需要具有超时语意的应用时,就必须负责对这种语意模糊性进行区分,本文将对这一问题进行剖析,并给出一个比较通用的解决方案。
修正Java中wait方法超时语意模糊性的一种方案
最新推荐文章于 2021-04-27 11:41:49 发布