Final answer:
Disabling interrupts for mutual exclusion can cause system unresponsiveness, is not scalable, and may lead to priority inversion and performance bottlenecks.
Step-by-step explanation:
Disabling interrupts as a method of mutual exclusion in concurrent programming has several downsides. One major con is the potential for system unresponsiveness, as during the time interrupts are disabled, the system cannot respond to any asynchronous events, which could lead to missed signals or lost data. Additionally, this approach is not scalable, as it becomes impractical on systems with multiple processors or cores; other processors may continue to execute, leading to concurrency issues.
Furthermore, disabling interrupts can lead to priority inversion, where lower-priority tasks prevent higher-priority tasks from making progress because interrupts are globally disabled. Also, extensive use of this technique could result in performance bottlenecks due to longer critical sections within applications.