我有一个复杂的大型多线程应用程序,我正在向其引入新功能。
我添加了一个对专业硬件的调用(通过供应商提供的 JNI 库)。然而,在调用(非常快的)函数之前,需要预先完成一些工作来填充发送给它的数据结构。
然而,应用程序的 GC 配置文件非常不稳定/糟糕,并且这些填充步骤中的一些似乎被 GC 打断了。这很重要,因为在这些事件中的第一个和移交给硬件资源之间的时间需要保持恒定或尽可能恒定。
有没有办法说“为 GC 同步”,这些操作不会在停止世界 GC 暂停期间被阻止?
在 RHL5.5 上使用 64 位 1.7 JDK
谢谢