当前位置:嗨网首页>书籍在线阅读

03-静态分配的互斥量

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

30.1.1 静态分配的互斥量

互斥量既可以像静态变量那样分配,也可以在运行时动态创建(例如,通过malloc()在一块内存中分配)。动态互斥量的创建稍微有些复杂,将延后至30.1.5节再做讨论。

互斥量是属于pthread_mutex_t类型的变量。在使用之前必须对其初始化。对于静态分配的互斥量而言,可如下例所示,将PTHREAD_MUTEX_INITIALIZER赋给互斥量。

795.png

依照SUSv3的规定,对某一互斥量的副本(copy)执行本节(30.1节)后续所述的操作将导致未定义的结果。此类操作只能施之于如下两类互斥量的“真身”,经由PTHREAD_MUTEX_INITIALIZER初始化的静态互斥量或者经由pthrad_mutex_init()(在30.1.5节讨论)初始化的动态互斥量。