semaphore 相关问题

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

什么时候调用sem_unlink()?

我对 Linux API sem_unlink() 有点困惑,主要是何时或为何调用它。我在 Windows 中使用信号量已经很多年了。在 Windows 中,一旦关闭命名信号量的最后一个句柄...

回答 3 投票 0

Semaphore/Ansible 默认以 root 身份运行命令

因为我在 Ansible/Semaphore 方面是菜鸟,所以我需要帮助。 我从这个链接安装了信号量: RL8 上的信号量安装 该服务正在运行,我已经创建了使用...

回答 1 投票 0

子进程不会修改父进程中的统计信息

我正在开发一个涉及多个进程(包括子进程和父进程)的 C 应用程序,并且我尝试使用共享内存和信号量在它们之间共享统计信息。怎么...

回答 1 投票 0

使用 Task.WhenAny 等待 SemaphoreSlim 上的容量

我有一个异步处理管道。我正在实施一个约束,以便我需要限制下一阶段的提交数量。对于我的组件,我有: 单个输入源(项目是

回答 2 投票 0

使用命名管道作为从 PowerShell 脚本到 C# 表单的信号。无法让它工作

我有一个 PowerShell 脚本,应该在计算机上安装和配置内容。由于该脚本在本地系统下运行,因此本地用户完全看不到该脚本,然后我...

回答 2 投票 0

在 Python 中使用带有 asyncio 的信号量

我试图限制使用信号量运行的同时异步函数的数量,但我无法让它工作。我的代码归结为: 导入异步 异步定义发送(i): 打印(常见问题...

回答 2 投票 0

systemd 服务守护进程和 /dev/shm

我有一个 systemd 服务文件,它启动一个用 C++ 开发的应用程序,该应用程序使用以下命令创建信号量 access_sem = sem_open("/sync_nvme_access_sem", O_CREAT, 0666); 如果(access_sem ==

回答 1 投票 0

OS X 上的 sem_init

我正在编写一些使用pthread和信号量库的代码。 sem_init 函数在我的 Ubuntu 机器上工作正常,但在 OS X 上 sem_init 函数完全没有效果。有吗

回答 3 投票 0

我应该在线程池调度程序中使用信号量还是条件变量?

我不确定我是否应该使用 std::semaphore 或 std::condition 变量来处理线程池系统中的线程等待。 我认为使用信号量并增加它的风险很低

回答 2 投票 0

使用具有数千甚至数百万条目的 `ConcurrentDictionary<String, SemaphoreSlim>` 仅锁定特定键

使用具有数千甚至数百万条目的 ConcurrentDictionary 仅锁定特定键是否合理?也就是说,像 私人静态只读

回答 1 投票 0

是否填充 C 结构内的信号量 (sem_t) 以尊重对齐?

我目前正在用 C(在 Ubuntu x64 中)定义一个结构。它看起来像这样: #包括 #包括 #包括 typedef 结构键{ sem_t sem; 炭

回答 1 投票 0

是否在 C 结构中填充了信号量 (sem_t) 以尊重对齐?

我目前正在用 C(在 ubuntu x64 中)定义一个结构。它看起来像这样: #包括 #包括 #包括 typedef 结构键{ sem_t sem; 炭

回答 1 投票 0

如何释放semaphoreslim?

我使用 SemaphoreSlim 作为我的锁机制。在我的代码中,我不知道释放信号量哪个代码更有效? 这是信号量实例化: 私有静态只读信号量...

回答 1 投票 0

信号未收到超过一次

我有使用信号量、信号和共享内存的程序。最后一个客户端循环有问题。信号 SIGINT 被发送到进程,处理程序运行,但只是第一次。下次杀人的时候...

回答 0 投票 0

为什么我能够创建模式为 000 的文件并使用开放系统调用在 C 中写入它?

根据我的理解,000 权限意味着除了 root 用户之外,没有人能够读取或写入该文件。为什么下面的代码有效? #包括 #包括 根据我的理解,000 权限意味着除了 root 用户之外,没有人能够读取或写入该文件。为什么下面这段代码有效? #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <fcntl.h> #include <string.h> int main(void) { char *message = "Hello world\n"; int fd = open("greeting.txt", O_CREAT | O_WRONLY, 0000); write(fd, message, strlen(message)); close(fd); } 此外,当我使用 sem_open(sem_name, O_CREAT, 0000, 1); 创建命名信号量时,即使文件权限设置为 000,父进程和所有子进程都能够修改它。 我对低级 C 系统调用和信号量的理解是有限的,因此需要一个全面的解释。 来自 man open https://man7.org/linux/man-pages/man2/open.2.html : Note that mode applies only to future accesses of the newly created file; the open() call that creates a read- only file may well return a read/write file descriptor.

回答 1 投票 0

C++ CSinglock 实现

我想在基于遗留参考代码的 C++ 程序中为正在运行的线程实现单锁。 无效 AutoThread::CreateEvent() { AutoRunning = new CRtEvent(FALSE, TRUE,"AutoRun...

回答 1 投票 0

我如何正确使用等待和通知

我试着让这两个线程交替,但我失败了。我认为逻辑是正确的,但执行是错误的。我该怎么办?这是一个生产者-消费者问题,我需要使用 wait and no...

回答 0 投票 0

ansible 和 php 的问题

我有一个 HTML 表单,我可以在其中输入名称和大小作为变量。目标是传递这些变量并自动触发带有这些变量的剧本 (playbook.yml)。我尝试使用 PHP 和

回答 0 投票 0

Java 信号量方法未按预期工作

我是消费者生产者问题和信号量的新手。 以下代码在

回答 1 投票 0

C 信号量如何提供互斥(内部)?

我知道这个理论以及为什么使用它们,问题是针对它的内部功能,因为我认为信号量只不过是一个全局变量或文件,SO如何管理

回答 0 投票 0

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