gpt4 book ai didi

c - 将 pthread_mutex_t 传递给函数

转载 作者:行者123 更新时间:2023-11-30 17:55:42 26 4
gpt4 key购买 nike

可以将 pthread 锁传递给函数吗?我要求这个的原因是因为我有很多线程,比如说10个,充当消费者,还有2个生产者,每个消费者线程都有它自己的链表(缓冲区),生产者将数据发送到其中之一线程基于特定规则,因此有时生产者 1 发送给消费者 1,然后发送给消费者 2,然后返回给消费者 1,依此类推。

所以我在想这个,

当生产者1想要发送给消费者5时,

  1. 生产者 1 调用函数链表来共享数据(IPC)并将 lock[5] 传递给该函数,在本例中它将是锁 5
  2. 函数 linked-list 将锁定 lock[5] 并更新链表
  3. 当消费者 5 调用函数链表时,它将传递其锁(消费者 5 将始终使用锁[5]),如果生产者已经锁定了该锁,那么它将等待。

请注意,锁的名称在 main() 中共享

pthread_mutex_t lock[10];

我在 Linux 上使用 gcc,如果问题不清楚,请告诉我,因为我描述事物的方式很糟糕。

最佳答案

你可以。只需确保传递互斥体的地址即可。您无法复制它。

关于c - 将 pthread_mutex_t 传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14033521/

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