进程间通信FIFO java

Posted

技术标签:

【中文标题】进程间通信FIFO java【英文标题】:Inter Process Communication FIFO java 【发布时间】:2014-11-05 15:36:51 【问题描述】:

您好,我正在尝试使用 FIFO 在 Java 中实现 IPC 我用 with 创建了一个 FIFO

mkfifo temp

然后我尝试用 FileWriter 打开和

BufferedWriter writeStream = new BufferedWriter(new FileWriter(writePipePath));

但它在这一行阻塞。

知道可能是什么问题吗?

【问题讨论】:

你的阅读代码是什么样的?如果你没有阅读器,它应该被阻止。 非常感谢,就这样!每个应用程序有 2 个管道(一个用于发送,一个用于接收)。但是两个应用程序都想先打开发送管道。 你可以使用一个 Socket 和一个 ServerSocket,因为它有两个流(一进一出)将在程序存在时被清理,尽管你会遇到同样的问题 ;) 【参考方案1】:

正如您在mkfifo manual page 中所读到的,打开fifo 将阻塞,直到双方都打开。 FileWriter 同步打开命名管道 - 即,在另一个进程或另一个线程也打开管道以供读取之前,它不会返回。

【讨论】:

以上是关于进程间通信FIFO java的主要内容,如果未能解决你的问题,请参考以下文章

进程间通信--FIFO(命名管道)

linux 进程间通信 之fifo

linux系统编程:进程间通信-fifo

Linux系统编程——进程间通信:命名管道(FIFO)

简述Linux进程间通信之命名管道FIFO

[Linux进程间通信]FIFO