28得票3回答
Posix共享内存与映射文件

在了解了一些有关主题的知识后,有人可以告诉我,POSIX共享内存(shm_open)和POSIX映射文件(mmap)之间的真正区别是什么吗? 两者似乎都使用/dev/tmpfs子系统,而不是较早的IPC机制。 那么使用mmap文件而不是共享内存是否有任何优势呢? 谢谢。

28得票4回答
MPI和openMP在共享内存中的区别

假设有一台计算机,其中有4个CPU,每个CPU都有2个核心,因此总共有8个核心。根据我有限的理解,我认为在这种情况下所有处理器共享同一内存。现在问题是,是直接使用openMP好,还是使用MPI使其通用,以便代码可以在分布式和共享设置上工作。此外,如果我在共享设置中使用MPI,与openMP相比...

27得票2回答
如何在C语言中的子进程中使用POSIX信号量?

我想要分叉多个进程,然后在它们上面使用一个信号量。这是我尝试的:sem_init(&sem, 1, 1); /* semaphore*, pshared, value */ . . . if(pid != 0){ /* parent process */ wait(NULL...

27得票3回答
通过使用mmap()在进程之间共享内存

我正在使用Linux 2.6。我有一个环境,其中有两个进程通过共享内存模拟数据交换,以简单的消息传递模式实现。 我有一个客户端进程(由父进程(即服务器)fork出),它将一个结构体(消息)写入到创建的内存映射区域中(在fork之后): message *m = mmap(NULL, siz...

27得票3回答
并发队列中的DispatchQueue sync和sync barrier有什么区别?

我正在使用DispatchQueue的屏障操作,并注意到有两种方式:async(flags: .barrier) 和 sync(flags: .barrier) 我理解了异步屏障的用法,但对同步屏障感到困惑。 我不确定这也能完成我想要做的任务。DispatchQueue.global()....

26得票2回答
C++和Java进程之间的共享内存

我的目标是将数据从C++进程传递到Java进程,然后再收到结果。 我已经通过命名管道实现了这一点,但我更希望共享数据而不是传递或复制它,因为这样可以更快地访问。 最初,我考虑在C++中创建一个共享段,以便我可以用Java写入并读取,但我不确定是否可以通过JNI实现这一点,更不用说安全性了。...

25得票2回答
Linux上临时文件存储使用哪个更好:/tmp还是/dev/shm?

我有一些脚本需要快速创建许多小的临时文件,并很快将其读取后解除链接。 我的测试显示,在Linux下,即使在中等负载下,将这些文件放在/tmp(磁盘)或/dev/shm(文件系统级共享内存)中,也几乎没有性能差异。我将其归因于文件系统缓存。 尽管最终磁盘将受到文件系统操作的影响,但对于多个小...

25得票9回答
Python:预加载内存

我有一个Python程序,需要加载和反序列化一个1GB的pickle文件。它需要约20秒时间,我希望有一种机制可以使pickle的内容随时可用。我查看了shared_memory,但其所有示例都涉及numpy,而我的项目没有使用numpy。使用shared_memory或其他方式,最简单、最干...

25得票3回答
在两个应用程序之间共享内存

我有两个不同的Windows应用程序(由两个不同的人编写代码)。一个是用C++编写的,另一个是使用C#。我需要找到一种在它们之间共享RAM数据的方法。其中一个程序必须写入数据,而另一个程序只需读取已写入的数据。为了使效果最佳和速度最快,我应该使用什么方法?感谢。

25得票3回答
如果在共享内存中,pthread互斥锁是否跨线程工作?

我发现这个网页:Fast interprocess synchronization method 我曾经认为 pthread 互斥锁只能在同一 地址空间 的两个线程之间共享。 那里的问题/答案似乎暗示: 如果我有两个独立的进程 A 和 B。它们有一个共享的内存区域 M。我可以把 pthr...