Flutter 飞镖或飞镖:如何获得处理器内核的数量?

Flutter 飞镖或飞镖:如何获得处理器内核的数量?,flutter,dart,Flutter,Dart,我想创建一个多线程应用程序,并为每个核心生成一个隔离。如何知道Dart语言中处理器内核的数量?有两种方法: 最简单的方法是导入dart:io并调用Platform.numberOfProcessors 第二种方法是使用pub librarysystem\u info,如中所述 在我的个人测试中,我发现在处理多核处理器时,dart:io库更精确。 system\u info库返回了4个处理器,而dart:io库返回了我的Windows pc上使用Intel Core i7-8550U CPU的

我想创建一个多线程应用程序,并为每个核心生成一个隔离。如何知道Dart语言中处理器内核的数量?

有两种方法:

  • 最简单的方法是导入
    dart:io
    并调用
    Platform.numberOfProcessors
  • 第二种方法是使用pub library
    system\u info
    ,如中所述
在我的个人测试中,我发现在处理多核处理器时,
dart:io
库更精确。
system\u info
库返回了4个处理器,而
dart:io
库返回了我的Windows pc上使用Intel Core i7-8550U CPU的8个内核(它有4个内核,但有8个线程)。

内核和(超)线程是不同的东西:内核是一个物理硬件。“超线程”是在单核上以切片多线程方式运行的代码。在实践中,由于CPU大部分时间不忙于运行代码(而是等待硬件,包括ALU、RAM等),超线程性能接近2倍的核心性能。那么,如果你问你的CPU有多少内核?4.您的CPU可以同时运行多少超线程?那是8。此外,考虑到大多数手机都有慢芯和快芯(这是他们节省电池的方法)。