哪一个是仪器中的性能核心?

Which one is the performance cores in instruments?

当我 运行 在 iPhone X 上使用 A11 CPU 进行配置时。这个CPU有两个性能核心和四个效率核心。

请问有什么方法可以区分哪个是性能核心?而对于主线程,GCD会不会把主线程任务更多的放在性能核心而不是效率核心上?

我很想知道它是如何工作的。

GCD 对不同类型的内核一无所知,GCD 也无法决定哪个代码 运行s 在哪个内核上。

GCD 决定哪个队列获得哪个线程池的线程以及将哪个代码调度到队列线程的下一个运行。

决定线程何时 运行 以及它将 运行 在哪个内核上由内核的线程调度程序完成。并且内核还决定在哪个 GCD 线程池中有多少线程可用。

主线程和其他线程一样只是一个线程。一个线程获得多少 CPU 时间取决于它自己的优先级、其他线程的数量、它们的优先级以及为每个线程安排的工作负载量。

由于 A11 允许所有 6 个核心同时处于活动状态,因此内核将决定哪个线程获得高性能核心,哪个线程获得低性能核心。高优先级线程和具有高计算工作量的线程(那些想要 运行 非常频繁并且通常在 运行ning 时用完它们的完整 运行 时间片的线程)是高性能内核的首选。低优先级线程和计算工作量小的线程(那些想要 运行 不经常和经常 yield/block 尽管它们的 运行 时间量程尚未用完的线程)是低性能的首选核心。虽然理论上每个线程都可以 运行 在任何内核上,因为如果线程正在等待 运行,让内核闲置是愚蠢的,但通常首选低功耗内核,因为它可以降低功耗并增加电池电量运行时间。