Java OutputStream.write()上的超时

Java OutputStream.write()上的超时,java,ffmpeg,timeout,pipe,video-streaming,Java,Ffmpeg,Timeout,Pipe,Video Streaming,OutputStream是由Process.getOutputStream()创建的。我希望OutputStream.write()支持预定义的超时:每当OutputStream.write()/OutputStream.flush()没有在给定的时间阈值内返回时,我都会收到某种信号 底层操作系统是Linux,我不关心其他系统。 该过程是用于连续发布视频流的ffmpeg实例 注意,我需要write()/flush()函数调用在给定的时间阈值内返回或中断,而不是进程在给定的时间阈值内终止。Outp

OutputStream是由Process.getOutputStream()创建的。我希望OutputStream.write()支持预定义的超时:每当OutputStream.write()/OutputStream.flush()没有在给定的时间阈值内返回时,我都会收到某种信号

底层操作系统是Linux,我不关心其他系统。 该过程是用于连续发布视频流的ffmpeg实例


注意,我需要write()/flush()函数调用在给定的时间阈值内返回或中断,而不是进程在给定的时间阈值内终止。

OutputStream上的
write
方法正在阻塞,不支持超时。如果您想永远避免写操作阻塞,您需要使用NIO和选择器。有关于如何在Java中使用选择器的教程