java - 如何通过命令行列出java程序的默认和可用的线程调度程序?

标签 java linux multithreading redhat

应该输入什么命令来了解默认线程调度程序,并确定它是 JVM 还是 native 线程调度程序?

最佳答案

What command should be entered to read about default thread scheduler, and available alternatives?

您要查找的命令是 man schedman chrt

第一个允许您了解调度程序如何工作(在较高级别)以及与之相关的各种命令、系统调用和库调用。

第二个解释了chrt,它是调整正在运行的进程的调度程序属性的主要命令。

(如果您没有安装 man 命令...请安装它。)

这适用于 Java 吗?

  • 除了 Thread.setPriority 方法1之外,没有用于调整调度程序策略的标准 Java SE API。
  • 当然,正在运行的 JVM 受到使用 chrt 所做的更改的影响,尽管尚不清楚这是否“有帮助”。
<小时/>

1 - 提醒:未指定setPriority对线程调度的影响。优先级应该被视为“尽力而为”,而不应该被用作“修复”竞争条件、内存异常等问题的方法。

关于java - 如何通过命令行列出java程序的默认和可用的线程调度程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52010683/

相关文章:

java - spring jms 全局 ErrorHandler 不工作

linux - 当 rm 文件但硬链接(hard link)仍然存在时,inode 将被标记为 "unused"?

linux - 通过 SSH 进行 Git pull

linux - linux shell的音译脚本

在 Windows 上创建线程数组

java - 保存时 hibernate 超时

java - 使用流和 java8 创建对象列表的字段值的连接字符串

java - 在 Java 中通过名称作为字符串访问变量的值

具有多个进程的 Linux i2c dev 接口(interface)

java - 使用线程池添加到列表中