Although it is true that interrupting interrupts on one processor is not enough to provide access to atomic memory in a multiprocessor system (since, as you say, threads on other processors can still access shared resources), we interrupt interrupts for part of the multi-processor implementation of the semaphore, because we donβt want us to be planned while we do the test and install.
If the thread containing the test and the set is delayed, no other threads can do anything with the semaphore (because its account is protected by this test and installed) the thread used during sleep mode (this is not good). To ensure that this does not happen, we will disable interrupts on our processor when using the test and installation.
source share