gpt4 book ai didi

C程序不允许超过n个线程同时执行函数f

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

使用锁/条件变量如何使 C 程序的结构不允许超过 n 个线程同时执行函数 f 的主体?假设您创建了 60 个线程并且一次只允许 10 个线程进入在函数中。你能不能把伪代码写成一个大概的思路?

最佳答案

您需要一个互斥体、一个条件变量和一个整数。

  1. 获取互斥量。
  2. 当整数为 10 时,阻塞条件变量。
  3. 增加整数。
  4. 释放互斥锁。
  5. 调用函数。
  6. 获取互斥量。
  7. 递减整数。
  8. 广播条件变量。
  9. 释放互斥锁。

关于C程序不允许超过n个线程同时执行函数f,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39278715/

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