Java MappedByteBuffer 通知写访问

问题描述

我正在考虑通过 JavaFX 应用程序模拟 VGA Text Buffer。我想过通过 MappedByteBuffer 和 C 应用程序中的 mmap 从 Java“屏幕”应用程序内存映射文件。

我的目标是能够只写入 C 应用程序中的映射内存位置,并且 JavaFX“屏幕”应该在写入内容时更新:或多或少与内存映射 IO 相同。

我想知道如何在 Java 端检查文件中的更改。 MappedByteBuffer 只有读取值的方法,但没有等待更改的阻塞方法。即便如此,我也不确定文件的哪一部分会被更改(我猜对于小缓冲区,读取整个缓冲区没有问题,但对于较大的文件,它可能效率低下)。

有没有办法做到这一点?这在 Linux 上是否可行(我也可能会编写一些 JNI 代码,尽管我不想这样做)?

还是我必须定期读取整个字节缓冲区并更新我的“屏幕”?

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)