cost 68 ms
Semaphore with executor service 不清楚锁机制 - Semaphore with executor service not clear about the lock mechanism

我目前正在尝试了解并行处理期间的信号量。 我已经实例化了 3 个许可的信号量,并有一个包含五个值的字符串列表,使用执行程序服务,我使用可调用接口创建了五个线程。 现在根据我的理解,它应该允许同时处理三个线程,一旦任何一个线程完成该过程,下一个线程将获取一个锁并进行处理。 我有下面的示例片段和我在执行 ...

如何在 Mac 上使用 dispatch 等待多个信号量? - How do I wait for multiple semaphores using dispatch on Mac?

在 Windows 上,我使用WaitForMultipleObjects()通过以下代码等待多个信号量。 我尝试使用以下代码在 Mac 上使用dispatch_semaphore_wait()但没有成功。 它一直在等待,永远不会完成。 任何想法为什么? 我想要实现的是等待给定信号量之一的代码发出 ...

c中使用信号量的两个进程之间的同步 - Synchronization between two processes using semaphores in c

我有一个任务,我必须用 C 语言编写一个程序来管理文件的访问和读/写。 当程序启动时,它应该创建两个进程(使用 fork())。 - 第一个进程将负责初始写入文件(该文件是一个文本文件,从a到z有2000个随机字符)。 - 在第一个进程完成写入后,第二个进程将负责从文件中读取。 我的问题是: 如 ...

C 中的信号量 - 我怎样才能让它交替? - Semaphore in C - How can I make it alternate?

//我认为这篇文章中的最终代码应该已经解决了我遇到的所有问题。 谢谢大家! 我在 C 中编写了代码,应该通过信号量锁定和解锁共享 memory 并写入一个字节。 我希望写入的数据在“消息”和“读取”之间交替。 也许我误解了信号量以及它们的锁定功能是如何工作的? 我将 while(1) 添加到只需 ...

一旦生产了单个项目,生产者线程的通知就不会到达消费者线程 - notification from producer thread is not reaching to consumer thread once single item is produced

在下面的代码片段中,一旦生产者生产了单个项目,生产者线程到消费者线程的通知似乎就不会到达,并且由于这种行为,一旦生产者完成生成相当于缓冲区大小的项目,那么只有消费者开始消费项目。 任何人都可以建议我们应该如何使用信号量来解决这个问题。 ...

为什么我需要编译引用#include 的 C 文件<semaphore.h>在 Ubuntu 20.04 中使用 -lpthread,但在 Ubuntu 22.04 中不使用 -lpthread?</semaphore.h> - Why Do I need to compile C file referencing #include <semaphore.h> with -lpthread in Ubuntu 20.04, but not on Ubuntu 22.04?

作为 C 开发的新手,我对我们的 CI 构建中的一个问题感到困惑。 我可以使用信号量完美地编译一段 C 代码,我在这里找到https://gist.github.com/junfenglx/7412986 (并在下面复制)并保存为信号量.c 它仅使用“gcc semaphores.c”在我的主机 ...

如何使用信号量同步两个进程,以便我可以在 C 中获得所需的 output? - How to use semaphores to synchronize two processes so I can have the desired output in C?

我有两个进程(一个父进程和一个子进程——我是用 fork 做的)。 我想使用信号量同步这两个进程,这样 output 就是“a=20”。 这是我的代码: 我希望该代码的结果始终为“a=20”,但是当我运行它时,我得到的结果是“a=20 a=10”。 首先子进程给'a'赋值10。然后父进程将'a' ...

如何在 Python 中使用带有 asyncio.as_completed 的信号量? - How do I use a Semaphore with asyncio.as_completed in Python?

设置:我有一个大列表(超过 100 个)连接到 REST API 数据库服务器的任务(协程)。 协程使用客户端连接池。 我认为客户端连接池正在切断我的联系,因为我无法获得所有结果。 我还认为我可以使用信号量来限制与 API 服务器的并发连接,并在脚本完成之前获取所有结果。 这是一个最小的例子: 问 ...

扩展 SemaphoreSlim 以区分资源使用强度 - Expanding SemaphoreSlim to differentiate on intensity of resource usage

我有大约 100 个不同的外部端点分布在我从我的应用程序调用的大约 6 或 7 个 API 上。 所有这 100 个(让我们称它们为)资源共享一个合理使用池,并共同跟踪何时给我 429。我使用 SemaphoreSlim 限制我的调用(在大约 50 个并行调用中找到了最佳点)。 但这些资源不根据调用 ...

如何在 C 中取消链接/关闭命名信号量数组 - How to unlink/close an array of named semaphores in C

我正在尝试在 C 中创建一个名为 POSIX 信号量的 N 数组。但是我在取消链接和关闭它们时遇到了麻烦。 我需要使用一个信号量数组,因为每个信号量都代表一段文本文件,稍后将进入共享内存。 我正在做与这篇文章非常相似的事情,但它不起作用。 也许问题出在信号量的创建上? 还有其他方法可以做到这一点吗? ...

SemaphoreSlim 没有按预期工作 - 允许多个线程使用相同的代码 - SemaphoreSlim not working as expected - allowing multiple threads to use the same code

我有一个 API 中间层,它捕获请求、生成令牌,然后将该请求传递到预期的 API 端点。 一次只能创建一个令牌,因此每个请求都需要检查是否存在有效令牌并使用它,或者创建一个新令牌。 如果中间层 API 同时收到多个请求,它仍然应该只创建一个令牌。 为此,我使用了 SemaphoreSlim: 接受请 ...

为什么我的程序在调用 sem_wait 时不等待? - Why does my program not wait when I call sem_wait?

本质上,我的程序创建了 3 个线程。 “服务器”和 2 个“工人”。 工作人员旨在对 1000 行文件(每个线程 500 个数字)中的 3 位正整数求和。 在每个 worker 对自己的部分求和后,服务器打印每个 worker 的总数。 唯一的问题是我的信号量似乎不起作用。 这是我的程序的一个版 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM