sách gpt4 ai đã đi

Sử dụng khác nhau của tham số giá trị trong sem_init(...) trong c

In lại 作者:行者123 更新时间:2023-11-30 20:38:25 32 4
mua khóa gpt4 Nike

假设我用两种不同的方式初始化信号量

  1. sem_init(&randomsem,0,1)
  2. sem_init(&randomsem,0,0)

Hiện nay,

sem_wait(&randomsem) 在这两种情况下都有效

hoặc

它是否仅适用于 sem_init(&randomsem,0,1),因为使用 sem_wait(&randomsem) 会减少值参数 大于 0,因此如果我的信号量初始化为 sem_init(&randomsem,0,0) ??

哪种说法是正确的?请帮忙!

1 Câu trả lời

int sem_init(sem_t *sem, int pshared, unsigned int value);

sem_init初始化sem指向的信号量对象。与信号量关联的计数最初被设置为值。 pshared 参数指示信号量是当前进程的本地信号量(pshared 为零)还是在多个进程之间共享(pshared 不为零)。

第三个参数value,设置信号量的初始值。因此,在第一种情况下,信号量以值 1 开头,在第二种情况下为 0;

关于c - c 中 sem_init(...) 中 value 参数的不同用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29084224/

32 4 0
Bài viết được đề xuất: c - AVR C 编程 - 为什么 while 循环之后的代码没有执行?
Bài viết được đề xuất: c中的复数输入
Bài viết được đề xuất: c - 重新分配() : invalid next size
Bài viết được đề xuất: c - 尝试获取 unsigned long long 的最大位数时出现奇怪的行为
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com