pthread_cond_t 的疑问
书上说 条件变量可以用可以这样初始化
:
pthread_cond_t cond=PTHREAD_COND_INITIALIZER
我在全局里这样
pthread_cond_t cond;
在再main()里
pthread_cond_t cond=PTHREAD_COND_INITIALIZER;
这样是未定义的?为什么, PTHREAD_COND_INITIALIZER的类型不是pthread_cond_t ?
不懂这静态初始, 动态初始,
对
int pthread_cond_init(pthread_cond_t *cond, pthread_condattr_t *cond_attr)
动态的时候应该是
pthread_cond_t cond;
pthread_cond_init(&cond, NULL);
还是
pthread_cond_t *cond;
pthread_cond_init(&cond, NULL);
在init函数里分配cond;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
要么
pthread_cond_t cond=PTHREAD_COND_INITIALIZER;
要么
pthread_cond_t cond;
pthread_cond_init(&cond, NULL);
定义跟赋值是由区别的。