# RT-Thread IPC
- 兩個 thread 要溝通的方式,是透過共享的記憶體來完成;而如果此記憶體沒有排他性,這個記憶體有可能會不同步。
- 因此進入一塊共享的記憶體一次只允許一個 thread 來使用,這樣即可保證其資料的一致性
- 進入此共享記憶體則叫做 **critical region**
- RT-Thread 利用 7 種方式來完成同步:關閉中斷、scheduler lock、semaphore、互斥鎖、事件、mail box 及 message
## 同步
- [IPC](/@callumlu/rt-thread-ipc?type=view)
- [關閉中斷](/@callumlu/rt-thread-ipc-inter)
- [Scheduler Lock](/@callumlu/rt-thread-ipc-scheduler)
- [Semaphore](/@callumlu/rt-thread-ipc-sem)
- [互斥鎖 Mutex](/@callumlu/rt-thread-ipc-mutex)
- [事件 Event](/@callumlu/rt-thread-ipc-event)
## 通信
- [Mail Box](/@callumlu/rt-thread-ipc-mb)
- [Message Queue](/@callumlu/rt-thread-ipc-mq)
{"metaMigratedAt":"2023-06-15T00:53:56.849Z","metaMigratedFrom":"YAML","title":"RT-Thread IPC","breaks":false,"contributors":"[{\"id\":\"623188d7-0201-46cb-b205-1a7e20baa6bd\",\"add\":38563,\"del\":37919}]"}