Mutex
一个同步互斥锁(相互排斥)。
描述
一个同步互斥锁(mutex)。它用于同步多个Thread,相当于一个二进制Semaphore。它保证每次只有一个线程可以获得锁。互斥锁可以用来保护临界区;但是,要注意避免死锁。
教程
方法
void | lock ( ) |
try_lock ( ) | |
void | unlock ( ) |
方法说明
- void lock ( )
锁定此 Mutex
,直到被当前所有者解锁为止。
注意: 如果线程已经拥有互斥锁的所有权,该函数将无阻塞地返回。
- Error try_lock ( )
试图锁定此Mutex
,但并不阻塞。成功时返回@GlobalScope.OK,否则返回@GlobalScope.ERR_BUSY。
注意: 如果线程已经拥有了该Mutex的所有权,该函数返回@GlobalScope.OK。
- void unlock ( )
解锁这个 Mutex
,把它留给其他线程。
注意:如果一个线程在已经拥有互斥锁的情况下多次调用lock或try_lock,它也必须调用相同次数的unlock才能正确解锁.