ubuntu阻止调度程序在Java中执行contextswitch 4 月,2 周 Questions & Answers 1113 在Java中:是否可以阻止调度程序(Ubuntu)对线程代码的特定部分进行上下文切换 如果是,怎么做
# 1 楼答案 您应该选择实时线程: http://jrate.sourceforge.net/api/stable/javax/realtime/RealtimeThread.html 并将其优先级设置为最大级别: http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Thread.html#setPriority%28int%29 这样,一旦实时线程启动,它将不再释放处理器 此外,应要求调度程序的行为类似于(实时)FIFO调度程序 您有一个setScheduler()方法
# 2 楼答案 为了避免上下文切换,我所做的是使用线程关联、忙着等待和隔离CPU(如果操作系统支持的话),Java并不能很好地支持这些功能,但是在一点JNI/JNA的帮助下,它可以完成 Thread Affinity library for Java 注:有些NMI中断无法防止,但通常不会产生太大影响
# 1 楼答案
您应该选择实时线程:
http://jrate.sourceforge.net/api/stable/javax/realtime/RealtimeThread.html
并将其优先级设置为最大级别:
http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Thread.html#setPriority%28int%29
这样,一旦实时线程启动,它将不再释放处理器
此外,应要求调度程序的行为类似于(实时)FIFO调度程序
您有一个setScheduler()方法
# 2 楼答案
为了避免上下文切换,我所做的是使用线程关联、忙着等待和隔离CPU(如果操作系统支持的话),Java并不能很好地支持这些功能,但是在一点JNI/JNA的帮助下,它可以完成
Thread Affinity library for Java
注:有些NMI中断无法防止,但通常不会产生太大影响