semaphore 相关问题

信号量是一种同步原语,用于跟踪有限数量的资源中有多少可用。

为什么当另一个线程释放信号量时无法立即获取信号量?

这是代码: #包括 #包括 #包括 #包括 std::binary_semaphore sema{ 1 }; int main() { std::线程 th([] { ...

回答 1 投票 0

需要了解SemaphoreSlim的用法

这是我的代码,但我不明白 SemaphoreSlim 在做什么。 异步任务 WorkerMainAsync() { SemaphoreSlim ss = 新 SemaphoreSlim(10); 列表 trackedTasks = 新列表...

回答 4 投票 0

SemaphoreSlim 以某种方式破坏了 SendAsync?

我有一个相当复杂的案例...我正在从其他API调用我自己的API。我一次这样做 6 次。在第一次调用期间,我需要获取访问令牌并将其缓存,以便所有其他请求...

回答 1 投票 0

等待 posix 信号量上的零值

使用 SystemV 信号量 API,我可以等待给定信号量为零(或增加),但我没有找到与 POSIX API 类似的任何内容。 让我解释一下上下文。 我有一个主流程...

回答 1 投票 0

信号量wait()函数中的while循环的作用是什么?可以用if语句代替吗?

我正在学习操作系统中的信号量,但我不明白空 while 循环的目的。 代码来自我的教科书,我可以看到 while(s <= 0) is followed by ...

回答 1 投票 0

尝试使用信号量时,只有一个线程执行

据我了解,java.util.concurrent.Semaphore 允许我指定一次可以有多少个线程使用资源。线程可以使用 Semaphore.acquireUninterruptically() 来消耗有限的numb...

回答 1 投票 0

阻塞的信号可以从信号量等待队列中唤醒进程吗?

我有一个程序可以多次分叉自己(每次都通过 execve 重置其进程块),还有另一个程序向它发送信号,以便它可以再次分叉。在我阻止的处理程序中...

回答 1 投票 0

如何安全使用sem_destroy?

我在代码中使用 POSIX 未命名信号量。我想使用 sem_destroy 来销毁信号量。但我阅读了 Linux 手册页。它说“销毁其他进程或线程正在使用的信号量

回答 1 投票 0

使用 PThreads 的 C 生产者-消费者

我正在解决一个问题,我正在实现一个模仿生产者-消费者范式的程序。当我只有一个生产者和一个消费者时,我使用的代码可以工作,但它不会......

回答 1 投票 0

锁定信号量对象有意义吗?

我遇到了一段使用信号量作为锁定对象的代码。我问我的同事这个问题,他们说,如果我们想监控锁的状态,或者如果有一个奇怪的例外……这可能很有意义。

回答 2 投票 0

莫里斯算法中的竞争条件

我几乎逐字地实现了信号量小书(第 85 页)中的莫里斯算法,用于无饥饿互斥体。大约一半的情况下,它会正确终止,而另一半则会在中间冻结

回答 1 投票 0

如何解决:匿名函数转换为 void 返回委托无法返回值

我正在尝试为一组旨在向外部 API 请求一些数据的任务实现信号量 slim。数据可能有不同的格式,所以计划是返回 HttpResponseMessag...

回答 1 投票 0

如何解决匿名函数转换为void返回委托无法返回值的问题

我正在尝试为一组旨在向外部 API 请求一些数据的任务实现信号量 slim。数据可能有不同的格式,所以计划是返回 HttpResponseMessag...

回答 1 投票 0

macOS 上的 POSIX 信号量

我正在尝试创建一个信号量并通过使用这个简单的程序进行练习,尽管在Macos上编译时我收到了一堆已弃用的警告。我一直在寻找并遇到麻烦...

回答 2 投票 0

使用互斥操作和原语实现信号量

前段时间面试,被要求实现 仅使用互斥操作和原语的信号量 (他允许 int 被视为原子)。我带来了下面的解决方案。 他没有...

回答 7 投票 0

为什么信号量有最大值?

C++ 中的信号量采用等于信号量最大计数的模板参数。 模板 类counting_semaphore; counting_semaphore的前提之一::

回答 2 投票 0

为什么锁不能由不同的线程解锁,而二进制信号量可以?

从并发编程中锁和二进制信号量的概念来看,为什么没有锁锁的线程不能解锁锁,而二进制信号量可以释放/

回答 1 投票 0

与 asyncio.Semaphore 发生死锁

我的异步代码有时会陷入死锁,在我看来这是不可能的。由于现实总是战胜理论,我显然错过了一些东西。有人能发现一个

回答 1 投票 0

在 C# 中通过并行性字符串名称锁定代码

我有以下代码: 字符串[] arr = [“A”,“B”,“B”,“B”,“B”,“B”,“C”]; var options = new ParallelOptions() {

回答 1 投票 0

使用 python asyncio.Semaphore 循环启动一堆协程的正确方法是什么?

我想创建一个函数,通过使用 asyncio Semaphore 类来启动一堆协程,并等待所有协程完成。处理完这堆协程后,我想设置一个

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.