3

我只是对“UNIX NETWORK PROGRAMMING”(v2,pg162)一书中的结构定义有疑问,这里是:

struct {
    pthread_mutex_t mutex
    int buff[MAXNITEMS];
    int nput;
    int nval;
} shared= { 
    PTHREAD_MUTEX_INTIALIZER
};

分享后我无法理解代码。它的真正含义是什么?提前致谢

4

2 回答 2

7

该代码struct { ... } shared = { PTHREAD_MUTEX_INITIALIZER }定义了结构类型上述结构类型的类型的变量shared。该部分= { PTHREAD_MUTEX_INITIALIZER }然后初始化这个变量,它的第一个组件是PTHREAD_MUTEX_INITIALIZER,其余的都是零。

于 2013-01-09T01:47:12.703 回答
2

这是一个宏,更多信息在这里:

PTHREAD_MUTEX_INITIALIZER 宏

它用于将具有属性的互斥锁初始化为默认值。

于 2013-01-09T01:43:39.230 回答