LPa*_*mer 7 java multithreading garbage-collection posix
我有一个时间关键的应用程序需要在设定的时间表上发送UDP数据报.接收端的抖动容限非常低.使用java ScheduledThreadPoolExecutor实现它是不够的,因为当GC执行"Stop the World"集合时,我的线程会在GC完成它的工作时暂停.
我想用Java实现业务逻辑,同时用C++中的POSIX线程实现时间关键部分(本机环境就是Linux).这将允许我们保存数千行用Java编写的代码,并从本机系统调用中获得所需的调步.
我的问题是:如果我调用一个创建一个单独的POSIX线程的JNI函数,当Java GC执行"停止世界"集合时,该线程是否会被"暂停"?经验丰富的JNI大师是否有任何陷阱想用这种方法指出或者建议的任何替代方法?
一如既往,感谢令人敬畏的堆栈溢出社区!
它不应该阻塞 posix 线程(假设 gc 没有使用太多的 cpu 以至于其他系统调用将被阻塞)。我认为它会阻止从 java 应用程序访问 posix 线程,但只会阻止非常有限的时间。
归档时间: |
|
查看次数: |
915 次 |
最近记录: |