【发布时间】:2011-08-22 22:58:41
【问题描述】:
我有一个双核 Intel 处理器,想用一个核处理某些命令,如 SATA 写入,另一个处理读取,我们该怎么做?这可以从应用程序(使用多个线程)控制,还是需要更改内核以确保读取/写入不会被“错误”核心处理?
【问题讨论】:
标签: multicore
我有一个双核 Intel 处理器,想用一个核处理某些命令,如 SATA 写入,另一个处理读取,我们该怎么做?这可以从应用程序(使用多个线程)控制,还是需要更改内核以确保读取/写入不会被“错误”核心处理?
【问题讨论】:
标签: multicore
这几乎完全取决于您的操作系统,您没有指定。
有些可能会提供线程亲和性以尝试将一个线程保留在同一个执行引擎(无论是内核还是 CPU)上,但这仅适用于线程。如果两个线程都写入磁盘,那么它们很可能在不同的引擎上这样做。
如果您想要这种低级控制,最好在内核级别进行。
我的问题是“为什么?”。操作系统内核进行了大量的性能调整,它们通常比任何应用程序都更了解如何有效地完成这些低级工作。
【讨论】: