java - 我可以在 java 桌面应用程序和 php 网站之间使用信号量吗?

标签 java php semaphore shared-memory

我有一个生成 Web 应用程序的 Java 程序。此 Web 应用程序的最终目的是检索需要发送回 Java 应用程序的身份验证 token 。

我在我的操作系统类(class)中了解了信号量,并且想知道是否可以在用不同编程语言编写的两个不同进程之间使用信号量/共享内存。请原谅我的天真,但这个概念对我来说仍然很新,而且我只将信号量用于用相同语言编写的程序。

如果可能的话,我们将不胜感激。

如果不是,在 PHP 网络应用程序和 Java 桌面应用程序之间发送少量数据的最佳选择是什么(最好不使用数据库)?

我运行的是 Windows 10。

最佳答案

信号量只是计数器,二进制信号量是 0,1 计数器,或者实际上只是一个锁。通常,您在带线程的进程中使用它们,或者在使用操作系统设备(如管道、共享内存或低级操作系统信号量)的进程之间使用它们。

我认为您可以使用共享服务(Web 服务、恢复器、消息传递等)来实现类似的东西,它们可以做同样的事情——锁的自动增加/减少。但是,您必须理清等待语义,因为典型的信号量可能有一个 while() 循环并等待它再次空闲。

我认为您最好考虑一种更简单的方法?

关于java - 我可以在 java 桌面应用程序和 php 网站之间使用信号量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50206958/

相关文章:

java - 100门任务: for loop won't work,否则没问题

java - 第一次尝试了解 Intent

php - 在这种情况下如何转义引号?

php - 如何从动态加载的 ajax 文件重定向整个页面

PHP 和 Javascript 兼容的加密函数

c++ - 使用升压锁进行 RAII 对信号量的访问

java - 多线程 java 应用程序有时无法在 Websphere 上获取所有线程

java - HTTP 状态 400 错误请求

c - 共享名为 POSIX 信号量

c - 信号量无法正常工作