1. Disabling interrupts can achieve mutual exclusion, but interrupts cannot be responded to at this time 2. Locking the scheduler can achieve mutual exclusion of multiple tasks, but mutual exclusion with interrupts cannot be achieved 3. Semaphore, a lightweight mutual exclusion mechanism, because the initial value is not necessarily 1, it has no concept of owner (owner), and does not solve the problem of priority inversion 4. Mutex is an effective means of managing critical resources. It uses the priority inheritance method to solve the problem of priority inversion 5. The main feature of events is that they can achieve one-to-many and many-to-many synchronization. The association form of event sets can be "logical or" and "logical and". 6. The previous part is the synchronization and mutual exclusion between multiple tasks. Mail is an effective means for threads, interrupt services, and timers to send messages to threads. Mailboxes and thread objects are independent of each other. Threads, interrupt services, and timers can all send messages to mailboxes, but only threads can receive messages (because when the mailbox is empty, the thread may be suspended). The size of each email is generally 4 bytes, which is generally a buffer pointer. 7. The message queue manages messages in a queue manner. Each message has the same message length. The sent message cannot exceed this length. However, if the message sent is less than this length, there is no value indicating the actual length? In IPC, detach is generally a static memory management mode, which deletes kernel objects and wakes up the corresponding blocked threads, while delete is a dynamic memory management mode, which deletes kernel objects, releases the requested buffer, and wakes up the corresponding blocked threads.