59得票10回答
消息传递和共享内存并发模型有什么区别?

如果我说错了,请纠正我,但是我很惊讶这个问题在这里之前竟然没有被问过...

8得票2回答
编译错误的文件?

我有三个文件——SwimMill.c、Fish.c和Pellets.c,每个文件都被编译成可执行文件。当运行SwimMill时,它使用fork()和exec()来运行Fish和Pellets。但是,出现了一个问题,我在终端中使用make编译程序并运行SwimMill时,文件Fish先运行。有谁...

8得票1回答
如何使用shm_open共享已存在的内存?

在Linux中,我想要将我的进程的一些内存内容与其他进程共享。其中一种方法是使用shm_open和mmap。就像下面这样。 /* Create a new memory object */ fd = shm_open( "/bolts", O_RDWR | O_CREAT, 0777 ); ...

24得票2回答
如何在Python的joblib中写入共享变量

以下代码并行化了一个for循环。import networkx as nx; import numpy as np; from joblib import Parallel, delayed; import multiprocessing; def core_func(repeat_inde...

9得票2回答
PHP中的共享内存文件

我使用 openssl_pkcs7_sign 和 openssl_pkcs7_encrypt 来创建加密数据。这些函数只接受文件名作为输入。我希望将临时文件存储在共享内存中以提高性能。我知道在Linux中,可以使用 file_put_contents('/dev/shm/xxx', data)...

13得票1回答
在特定的NUMA节点上创建命名共享内存?

与此帖子类似,我想在特定的NUMA节点(不一定是本地的)上创建一个命名的共享内存段(通过CentOS 7上的shm_open()+mmap()创建)。该帖子建议使用numa_move_pages()来实现。 我还有几个问题: 1. 如果另一个进程(在与不同NUMA本地核心上运行)稍后启动并...

69得票4回答
将共享内存数组与Pool.map结合使用在Python并发编程中

我有一个非常大的(只读)数据数组,希望能够并行地由多个进程处理。 我喜欢Pool.map函数,并希望使用它来并行计算数据上的函数。 我发现可以使用Value或Array类在进程之间共享内存数据。但是当我尝试使用这些类时,在使用Pool.map函数时会出现RuntimeError:'Synchr...

9得票1回答
共享内存中使用boost::lockfree::queue出现问题(boost 1.53,gcc 4.7.2 / clang 3.0-6ubuntu3)

我有一个问题,需要将boost::lockfree::queue<<T, fixed_sized<false>, ..>放入共享内存中。我需要这样做是因为我需要能够向队列中插入超过65535个消息,而固定大小队列的限制是65535。 下面的代码可以正常工作(但ca...

9得票2回答
Linux上共享内存的限制是如何工作的?

我正在研究Linux内核对共享内存的限制。 /proc/sys/kernel/shmall 指定可分配的最大页面数。将此数字视为x,将页面大小视为p。我假设“x * p”字节是系统范围内共享内存的限制。 现在,我编写了一个小程序来创建一个共享内存段,并使用下面的方法将其附加到该共享内存...

14得票4回答
在LynxOS/POSIX中,我该如何同步访问共享内存?

我正在一个采用LynxOS SE(符合POSIX标准)的系统上实现两个进程,它们将通过共享内存进行通信。 其中一个进程将充当“生产者”,另一个则是“消费者”。在多线程系统中,我的方法是使用互斥锁和条件变量对(mutex and condvar pair),其中消费者通过pthread_con...