首页 > 解决方案 > 在并发编程中,是否有可能通过使用锁,一个程序有时会使用比必要更多的处理器?

问题描述

这是一道考试题(练习题,不是真题)。它是关于使用多核处理器的并发编程以及使用锁的问题。

“在并发编程中,是否有可能通过使用锁,一个程序有时可能会使用比必要更多的处理器?”

换句话说,这有可能吗?这是一个真/假问题。我在任何地方都找不到答案,我正在为我的考试复习。

标签: multithreadingconcurrencycoreprocessorconcurrent-processing

解决方案


N个线程在任意时刻使用锁执行的并发程序都可以有M=0 .. N-1线程等待锁;因此这个程序只能使用N-M处理器,因为等待锁不需要处理器。因此,不,使用锁不会增加并发程序所需的处理器数量。


推荐阅读