关于java.util.concurrent您不知道的 5 件事,第1部分 - 编程入门网
,首先进行测试,然后仅当键没有存储在 Map 中时进行 put。
5. SynchronousQueues 根据 Javadoc,SynchronousQueue 是个有趣的东西: 这是一个阻塞队列,其中,每个插入操作必须等待另一个线程的对应移除操作,反之亦然。 一个同步队列不具有任何内部容量,甚至不具有 1 的容量。 本质上讲,SynchronousQueue 是之前提过的 BlockingQueue 的又一实现。它给我们提供了 在线程之间交换单一元素的极轻量级方法,使用 ArrayBlockingQueue 使用的阻塞语义。在清 单 2 中,我重写了 清单 1 的代码,使用 SynchronousQueue 替代 ArrayBlockingQueue: 清单 2. SynchronousQueue
实现代码看起来几乎相同,但是应用程序有额外获益:SynchronousQueue 允许在队列进行 一个插入,只要有一个线程等着使用它。 在实践中,SynchronousQueue 类似于 Ada 和 CSP 等语言中可用的 “会合通道”。这些通 道有时在其他环境中也称为 “连接”,这样的环境包括 .NET 。 结束语 当 Java 运行时知识库提供便利、预置的并发性时,为什么还要苦苦挣扎,试图将并发性导 入到您的 Collections 类?本系列的下一篇文章将会进一步探讨 java.util.concurrent 名称 空间的内容。 原文地址:http://www.ibm.com/developerworks/cn/java/j-5things4.html |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |