文章作者: 盧宜良
1.Semaphores 信號,一個 Thread 給信號 (k_sem_give),另一個 Thread 就會得到信號 k_sem_take。
重點函數:
K_SEM_DEFINE(my_sem, 0, 1); // 初始化 my_sem k_sem_give(&my_sem); // 給信號 k_sem_take(&my_sem, K_MSEC(50); // 嘗試take信號,直到 50 msec 。
2.Mutexes 互斥鎖,一個 Thread lock 時 (k_mutex_lock),另一個 Thread 就不能 lock,直到被 unlock (k_mutex_unlock)。
K_MUTEX_DEFINE(my_mutex); //初始化 my_mutex k_mutex_lock(&my_mutex, K_FOREVER) // 嘗試鎖,直到K_FOREVER k_mutex_unlock(&my_mutex); // 解鎖