java - Java 中的 Ada 交会对应物

标签 java concurrency synchronization ada

因此,在 Ada 编程语言中,集合点是一种进程间同步/消息传递的方法。如何在java中实现这种机制(以及任务挂起和选择性等待)?我正在研究java的远程方法调用和Exchanger类,但我还没有找到合适的解决方案。

最佳答案

Java 中最难实现的部分是选择性等待和进入队列。阻塞队列是 Ada 中 protected 条目的近似模拟,没有选择性等待。

我不相信 Java 中有任何与 Ada select 语句等效的东西。也没有办法提供与具有程序员可选择的排队策略的条目队列等效的功能。 Java 等待/通知组合将激活一个等待线程,但您永远不知道是哪一个。通知命令实际激活的线程是基于竞争条件的,并且具有明显随机的效果。分析表明,每个等待线程都可以预期在程序执行的某个时刻通过通知被激活,但在Java中不能保证线程激活的顺序,或者即使给定的线程会曾经从等待状态激活。

关于java - Java 中的 Ada 交会对应物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47835095/

相关文章:

java - Java EE 应用程序中的并发

java - 在 ConcurrentHashMap 中以原子方式 searchKeys() 和 put()

java - Whatsapp 如何快速检测到我使用同一应用程序新添加的号码?

Python进程同步

java - froyo 上的阿拉伯语?

java - 在围绕屏幕移动球的情况下,如何正确处理 JComponent 的按键和重绘?

java - 使用 Beacons-Android 库时 Eddystone 信标不工作

java - 以下技术获取 RequestContext 是否正确

c# - 我是否需要锁定以 ReadOnlyCollection 作为参数的并发方法?

c# - .NET - 线程同步