cost 260 ms
Producer consumer using boost::interprocess_confition with boost:interprocess shared memory. 消费者主导 100% - Producer consumer using boost::interprocess_confition with boost:interprocess shared memory. Consumer dominates 100%

只是举一个简单的例子,因为我遇到了一个更复杂的用例的问题,并且想在花费太多时间进行反复试验之前了解基本情况。 场景:我有两个二进制文件,它们应该轮流递增一个数字(存储在共享内存中)。 实际发生的情况是,“消费者”应用程序 100% 接管了“创建者”的运行。 如果我在这种情况下在消费者中添加一个小的 ...

处理不同类型消息的消息队列 - Interprocess message queue with different types of messages

我正在尝试(在 Linux 中)编写一个“发送者”和“接收者”程序,它们可以使用共享的 memory 和 message_queue 在它们之间发送/接收几种类型的消息。 我决定使用 boost/interprocess/ipc/message_queue,因为它看起来是最好的解决方案。 问题在于, ...

在 mpi 进程中销毁 object 时,Boost.Interprocess 崩溃 - Boost.Interprocess crashes when destroy an object in a mpi process

我在父进程中创建了一个 shm,然后由system启动 mpiexec。 在这些 mpi 引导的进程中,打开了 shm。 它可以通过find<Type>("name")找到对象,但是当它尝试destroy<Type>(name)时,会出现错误。 以下调用堆栈发生错误: 没有 ...

在python的多进程程序中使用多个管道的问题 - Problem using multiple pipes in a multiprocess program in python

我目前正在为大学做一个项目,其中必须使用 Python 中的 Pipes 生成数字并将它们传输到其他进程。 我对 Python 很陌生,尤其是对进程间通信很陌生,所以我不知道我的问题到底出在哪里。 首先我知道我的代码很乱而且绝对不完美,因为我对 Python 还很陌生。 所以我很抱歉。 现在我 ...

c++ IPC Boost::Interprocess vector of classes contains map - c++ IPC Boost::Interprocess vector of classes containing map

我喜欢创建一个包含映射的类的 boost 进程间向量。 下面的代码是基于Container的Container和Creating Vectors in shared memory的例子,但是把这两个教程结合起来感觉很吃力。 我认为我坚持在内存中构建“MyVec”。 之后,代码无法编译。 这背后的原 ...

docker golang主进程与python子进程通信的最佳实践 - Best practice on docker golang main process communicate with python subprocess

赏金将在 5 天后到期。 此问题的答案有资格获得+50声望赏金。 BigTailWolf正在从有信誉的来源寻找答案: 我正在寻找一个最佳实践,所以任何帮助表示赞赏我知道使用 docker 的最佳实践是每个容器中只有一个主进程,并且只有一个CMD行运行。 我的情况是我有一个Golang微服务,该功 ...

字符串的 boost::interprocess::managed_mapped_file 双端队列空间不足 - boost::interprocess::managed_mapped_file deque of strings runs out of space

我正在使用带有 memory_mapped_file 的 boost::interprocess::deque 作为文件缓冲区,让数据在重启等后仍然存在。 我正在创建这样的缓冲区: 我正在像这样写到缓冲区的后面: 我正在像这样从缓冲区的前面擦除: 我像队列一样使用它。 因此,每当我无法 ...

Apache 进程同步 - Apache process synchronization

目标是阻止 Apache httpd 进程,直到 15 秒或另一个进程发出 SIGUSR1 信号。 被阻塞进程的进程 ID 存储在其他进程可以访问的数据库中。 我正在使用 pselect()/kill() 函数来尝试执行此操作。 从我的日志中,我知道kill(pid, SIGUSR1)在 15 秒超 ...

避免在 boost::interprocess::managed_shared_memory 内部锁定 - Avoid locking inside of boost::interprocess::managed_shared_memory

我想创建一个managed_shared_memory将由进程 A 创建和写入并由进程 B 读取。到目前为止,我设法实现了我想要的功能,但我意识到当进程在.find或 .find 期间崩溃时.construct操作,互斥锁不会被解锁(因此它不是一个健壮的互斥锁)。 文档说有一种方法可以禁用共享 m ...

为 UI 的一部分创建另一个进程是个好主意吗? - Is creating another process for a part of the UI a good idea?

抱歉,我不能在这里发布专有代码。 基本上,它是一个 Mac GUI 应用程序。 这些代码没有正确设计来使用异步概念。 一切都在主线程上处理,不可能一夜之间改变设计。 因此,我不想使用dispatch_async(...)解决方案。 问题的上下文是:我有一个在主线程上运行的耗时任务。 在处理任务时, ...

在不同设备上进行程序间通信的最简洁方法 - Cleanest method of inter-program communication on separate devices

我需要确定分布在多台机器上的多个程序之间的通信方法。 数据本身相当简单,由带有一些元数据描述符的可变长度向量组成。 每个程序“类型”都会将数据发送到其他 1 个程序类型,并希望看到它的回复。 给定程序的连接数随时间而变化,并且可以随时添加或删除程序。 程序可能分布在多个处理器上,这些处理器可能使用不 ...

circular_buffer 和 managed_mapped_file 分段错误 - circular_buffer and managed_mapped_file segmentation fault

我正在使用 boost 1.73.0,并尝试将循环缓冲区与 manage_mapped_file 一起使用以将字符串存储在磁盘上持久的循环缓冲区中。 我执行以下操作来创建/打开循环缓冲区: 这很好用,我可以像这样将字符串放在 circular_buffer 中: 查看原始文件(即使它是二进制文件), ...

管道双向通信 - Two-way communication with pipes

我需要使用管道在父级和分叉子级之间创建通信。 父进程发送0,子进程返回1,父进程回复2,以此类推,直到计数器达到5。然后两个进程都将终止。 我尝试使用两个管道来实现这一点: 我得到以下 output:0.Parent(120978) send value: 0 1.Child(120979) rec ...

命名管道保持活动服务器 - Named pipes keep alive server

我正在创建一个将与另一个应用程序通信的 windows 服务。 我面临的问题是,一旦客户端断开连接, NamedPipeServerStream就会关闭。 我希望服务器应该保持打开状态,因此每当客户端应用程序启动时,它就会连接起来。 我不想使用 WCF,消息会很小,所以我只想使用命名管道保持简单。 ...

如何在boost interprocess中构造具有给定计数的向量并向其添加元素 - How to construct vector with given count in boost interprocess and add elements to it

我已经开始学习 boost 进程间库,到目前为止我遇到了两个问题。 第一个与通过其大小构建向量有关。 那么我应该以其他方式将参数传递给向量吗? 第二个问题与 emplace_back 函数有关。 当我尝试以这种方式向向量添加元素时,出现错误: 所以我又做错了什么? 编码: ...


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