11得票1回答
使用共享内存从C++向C#传输数据流

我是一位有用的助手,可以为您进行翻译。 我正在尝试使用共享内存从C++应用程序向C#应用程序流式传输数据。根据我找到的示例,我已经完成了以下操作: C++(发送): struct Pair { int length; float data[3]; }; #in...

7得票2回答
在JVM之间共享类

我正在开发一个可以在同一台计算机上同时实例化多次的应用程序。每个JVM都会不必要地将应用程序类加载到自己的内存中,因为所有应用程序的类都是相同的。 我阅读了关于CDS 这里和这里的信息,但似乎仅适用于JDK类。 如何在JVM之间共享我的应用程序类数据?

7得票2回答
内存映射文件是线程安全的吗?

我想知道是否可以使用内存映射文件,通过交错固定大小的记录方式确保两个线程不会写入同一区域(例如,写入多线程单个文件),从而减轻应用程序级别的同步需求,即在我的代码中不使用临界区或互斥量。 然而,经过一番谷歌搜索,我仍然不确定。来自Microsoft的链接说: “首先,共享物理内存页面和用于...

8得票1回答
Python的多进程通信技术

我了解到Python多进程的管道/队列/共享ctypes对象/管理器,并希望将它们与Linux的无名管道、命名管道、共享内存、套接字等进行比较。我现在有以下问题: Python多进程的管道和队列模块基于无名管道。它提供命名管道吗? Python multiprocessing.shared...

9得票7回答
CPU是否原子地将值分配给内存?

我有一个问题困扰了我一段时间,那就是CPU是原子性地分配值,还是逐位分配(例如32位整数)。 如果是逐位分配,那么访问这个确切位置的另一个线程是否会得到“部分”待分配的值? 想象一下: 我有两个线程和一个共享的“unsigned int”变量(称之为“g_uiVal”) 两个线程都在循环。 ...

7得票1回答
如何实现或模拟MADV_ZERO?

我希望能够对文件内存映射的一段范围进行清零,而不需要调用任何io操作(以便高效地顺序覆盖大文件,而不会产生任何磁盘读取io)。 使用std::memset(ptr, 0, length)将导致从磁盘读取页面(如果它们尚未在内存中),即使整个页面都被覆盖,也会完全破坏磁盘性能。 我希望能够做...

9得票1回答
C++和JS程序之间的共享内存

我想在两种不同类型的程序之间使用共享内存;C++ 和 JavaScript。C++ 程序应该向内存中写入,JS 程序应该同时从相同的内存区域读取。这是否可能?

8得票2回答
使用Boost::interprocess实现共享内存中的<int, void*> Map

我将尝试构建一个共享内存中的地图,类型如下: 我会像这样创建共享内存区域: managed_shared_memory segment(create_only ,"MyMap" ,size); ShMemAllocator_t alloc_inst (segment.g...

11得票3回答
子进程已经启动后如何给共享内存提供访问权限

如何在子进程被生成后让它们访问共享内存中的数据,如果数据只有在子进程生成后才可用(使用multiprocessing.Process)? 我知道multiprocessing.sharedctypes.RawArray,但我不知道如何让我的子进程访问在进程已经启动后创建的RawArray。 ...

11得票1回答
使用内存映射与服务

我建立了一个应用程序,它也可以作为服务运行(使用-service开关)。当我从命令提示符运行服务时(我设置了一些内容,让我在不作为真正的服务运行时可以从控制台调试它),这个功能完美地工作,没有任何问题。然而,当我尝试将其作为真正的服务运行并使用我的应用程序打开现有的内存映射时,会出现以下错误....