Synchronization Primitives
(一)Mutexes的應用
我在之前的blog中簡單的提了提MAC的三種鎖,今天在這着重說說mutexes的使用,也只有這方面我有點經驗。先貼例子,再解釋
lck_grp_attr_t *tz_slock_grp_attr;
lck_grp_t *tz_slock_grp;
lck_attr_t *tz_slock_attr;
lck_mtx_t *tz_slock;
/* allocate lock group attribute and group */
tz_slock_grp_attr = lck_grp_attr_alloc_init();
lck_grp_attr_setstat(tz_slock_grp_attr);
tz_slock_grp = lck_grp_alloc_init("tzlock", tz_slock_grp_attr);
/* Allocate lock attribute */
tz_slock_attr = lck_attr_alloc_init();
//lck_attr_setdebug(tz_slock_attr); // set the debug flag
//lck_attr_setdefault(tz_slock_attr); // clear the debug flag
/* Allocate the mutex lock */
tz_slock = lck_mtx_alloc_init(tz_slock_grp, tz_slock_attr);
首先是申明兩個grp、attr對象,然後利用這兩個對象來做mutex的初始化。