多线程中不变量和谓语的概念区别
在多线程编程中,常涉及到的两个术语:不变量,谓语。
书籍中对这两个术语的解释真TM抽象啊…………
我想听听高手们来自民间的解释,希望能看到一针见血的答案!
此花露琪亚
11 years, 4 months ago
Answers
我自己找了代码片段来区别这两个概念:
......
while(stage->data_ready)
{
status = pthread_cond_wait(&stage->ready, &stage->mutex); //阻塞
if(status != 0)
{
pthread_mutex_unlock(&stage->mutex);
return status;
}
}
stage->data = data; //不变量
status = pthread_cond_signal(&stage->avail);
.....
其中“stage->data_ready”就是谓语,“stage->data” 就是不变量,
ORZ天命
answered 11 years, 4 months ago