【问题标题】:Is it that a multi-threaded java process is scheduled more often than a single threaded program by the OS?操作系统是否比单线程程序更频繁地调度多线程java进程?
【发布时间】:2017-02-17 08:20:51
【问题描述】:

当我运行一个多线程的java程序时,在做一个ps -eF | grep program-name 我只看到一个进程。作为该进程的一部分运行的线程是子进程。操作系统在调度方面对单线程和多线程进程的处理是否不同?

【问题讨论】:

标签: java multithreading


【解决方案1】:

不,单线程或多线程进程有统一的处理方式。操作系统将进程视为线程的集合并仅调度线程;只有在考虑或重视(否决)时,才改变调度程序选择的整个游戏的过程的优先级

Java 不进行调度,它将调度委托给底层操作系统。每个操作系统都有自己喜欢的调度方式。通常情况下,上面可以说明(可能有例外!)

【讨论】:

  • 如果进程被划分为多个线程同时运行多个线程,就会运行多个线程。你不能做出这样的笼统陈述。
  • @EJP theBeacon 没有声明其他任何内容。实际上,操作系统进程可能有多个线程,它依赖于操作系统调度程序来调度线程。单线程进程也是具有线程的进程(嗯 - 一个)。顺便说一句 - 优先级应仅被视为提示,不能保证具有更高优先级的线程将获得更多 CPU 时间
猜你喜欢
  • 2014-02-18
  • 2011-05-24
  • 2020-02-20
  • 1970-01-01
  • 2012-03-27
  • 1970-01-01
  • 2014-06-09
  • 2011-05-15
  • 1970-01-01
相关资源
最近更新 更多