【发布时间】:2015-10-22 06:50:52
【问题描述】:
如果 CPU 是 SMP,我希望我在 Linux 中的线程使用 spin_lock(),如果它是单核,则在源代码级别使用 mutex() 以实现兼容性。
我的源代码如何识别它是单核还是 SMP?
感谢您的建议。
道姆
【问题讨论】:
-
你说的是内核编程还是用户空间编程?
-
@AndyShevchenko op 想知道运行时如何确定底层架构是单核还是 SMP。他的假设是 mutex 为前者运行,而 spin_lock 为后者运行
-
首先,我是关于内核编程的。
-
但我也想知道是否应该根据 CPU 编号(即 SP 或 SMP)使用 pthread_spin_lock() 或 pthread_mutex()。
标签: linux linux-kernel