我需要将信号从 .NET 应用程序传递到 Java 应用程序。不需要数据,信号本身就足够了。
我想到的最简单的方法是使用这样的命名同步对象:
- .NET 应用程序创建一个特定的命名同步对象 A。
- Java 应用程序创建了一个特定的命名同步对象 A - 名称与 (1) 中的相同。
- Java 应用程序有一个线程在等待对象发出信号。
- .NET 应用程序向对象发出信号。
- Java 应用程序线程唤醒并根据信号接收采取行动。
至少,如果我知道如何在 Java 中创建命名同步对象,我会这样做。
但是看起来Java没有任何东西,我很难相信。这是否意味着只有 Windows 具有命名同步对象?
所以,我的问题是——如何将一个简单的信号(无数据)从非 Java 应用程序传递到 Windows 上的 Java 应用程序?两个进程都在同一台主机上运行。
编辑
动机——我想向我们的无头 Java 进程发出信号,让它尽快优雅地终止自己。