今天偶然写了一个这样的代码

Cpu、核、Java Runtime.getRuntime().availableProcessors()

它返回结果竟然是4;

Cpu、核、Java Runtime.getRuntime().availableProcessors()

Cpu、核、Java Runtime.getRuntime().availableProcessors()

但是我的机器明明只有一个处理器、2个核、为啥会返回4呢?

此时我们发现开启了超线程技术,超线程技术是通过特殊的硬件指令将一个物理处理器核心模拟为2个逻辑处理器核心。

我们打开mac的活动监视器、双击CPU负载、就会出现上面的图、可以看出有四个内核、这四个内核是可以并行处理线程的、是并行、同时执行、不是并发。

Cpu、核、Java Runtime.getRuntime().availableProcessors()

所以很明显java 中getRuntime().availableProcessors返回的就是逻辑处理器数。

 

 

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-05-16
  • 2021-12-01
  • 2022-01-21
  • 2022-02-11
  • 2021-12-31
猜你喜欢
  • 2022-12-23
  • 2021-08-20
  • 2022-12-23
  • 2021-07-25
  • 2021-06-26
  • 2022-12-23
相关资源
相似解决方案