写入共享内存的频率限制
Frequency limit of writing to shared memory?
单线程应用程序 (C++) 连续锁定、写入和解锁共享内存 - 每秒四次(循环以编程方式设置为每秒运行一次,循环中有 4 次写入,没有读取)。
输入关键部分(cs);
WriteToSharedMem();
离开关键部分(cs);
另一个应用程序 (C) 将每隔几分钟访问一次此共享内存。
以这种速率写入共享内存是否有任何问题?
视窗 XP
C++
您给出的速率(每秒四次)不会引起问题,但您不能跨流程使用关键部分。您需要一个内核级同步对象,如互斥锁。
完全没有。 您可以每秒获取/释放锁数千次(或数万或数十万次)。 您可以轻松地进行快速基准测试以查看。
按照这个速度,绝对没有!这非常慢,但是我不确定关键部分是否是您想要使用的,我记得它的方式只确保线程安全,而不是跨应用程序安全,您应该寻找其他东西来锁定共享内存。您必须使用一些进程间通信 (IPC) 机制来确保使用共享内存进行原子操作。
相关文章:
- 将字符串存储在c++中的稳定内存中
- C++ 指针的内存地址和指向数组的内存地址如何相同?
- Win32编译器选项和内存分配
- 芬威克树(BIT).找到具有给定累积频率的最小索引,单位为 O(logN)
- 当vector是tje全局变量时,c++中vector的内存管理
- 带内存和隔离功能的SQLite
- 是否可以通过C++扩展强制多个python进程共享同一内存
- 迭代时从向量和内存中删除对象
- 在指针的帮助下,文本文件中单词的频率
- 在C++中打印指向不同基元数据类型的指针的内存地址
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值
- 多个文件的内存分配错误"在抛出 'std :: bad_alloc' what (): std :: bad_alloc 的实例后终止调用" [C++]
- 为什么示例代码访问IUnknown中已删除的内存
- 如何在C++类内存结构中创建"spacer"?
- 从构造函数抛出异常时如何克服内存泄漏
- malloc() 可能出现内存泄漏
- 如何理解将半精度指针转换为无符号长指针和相关的内存对齐
- 在调用FreeLibrary后,释放动态链接到具有相同版本的CRT堆的DLL的内存
- 如何针对特定情况调试和修复此双自由内存损坏问题
- 写入共享内存的频率限制