我刚刚开始研究 pthread API。我一直在使用不同的书籍和网站,从他们的报告来看,pthread 同步功能(例如涉及互斥锁的功能)都适用于单处理器和多处理器环境。但是这些消息来源都没有明确说明,所以我想知道是否真的是这样(当然我相信是这样,我只是想 100% 确定)。
那么,如果在不同 CPU 上运行的两个线程pthread_mutex_lock()
同时在同一个互斥体上调用一个锁(例如),这个例程的执行会顺序执行而不是并行执行吗?在第一个锁结束并且调用它的线程对临界区具有私有访问权限后,另一个 CPU 上的另一个线程执行的锁是否会导致后面的线程挂起?