gpt4 book ai didi

c - 生产者和消费者中的 sem_wait()

转载 作者:太空宇宙 更新时间:2023-11-04 04:30:33 25 4
gpt4 key购买 nike

这是我的生产者和消费者问题的代码。它可以被编译,但是当我运行程序时它什么也不打印。我测试了程序,发现问题可能与 sem_wait() 有关。为什么程序可以编译但输出错误?谢谢。

int main(int argc, char *argv[]) {
pthread_mutex_init(&mutex, NULL);
empty = sem_open("/mysem", O_CREAT, 0644, BUFFER_SIZE);
full = sem_open("/mysem", O_CREAT, 0644, 0);

pthread_create(&pro_thread, NULL, producer, NULL);
pthread_create(&con_thread, NULL, consumer, NULL);

pthread_exit(NULL);

return 0;
}

sem_open()函数对吗?我评论了以下行,程序可以运行……也许问题出在 sem_open 上?

empty = sem_open("/mysem", O_CREAT, 0644, BUFFER_SIZE);

最佳答案

看来你的制作人从来没有制作过任何东西

检查信号量名称。可能是 emptyfull 是同一个实例,因为您在 sem_open 函数中使用相同的名称

关于c - 生产者和消费者中的 sem_wait(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36754253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com