问题标签 [shared-memory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
shared-memory - 求共享内存锁定问题的文章
我正在审查一些代码并对所使用的技术感到怀疑。
在 linux 环境中,有两个进程附加多个共享内存段。第一个进程定期加载一组要共享的新文件,并将共享内存 id (shmid) 写入“主”共享内存段中的某个位置。第二个进程不断读取这个“主”位置并使用 shmid 附加其他共享段。
在多 CPU 主机上,在我看来,如果一个进程在另一个进程正在写入内存时尝试读取内存会发生什么,这可能取决于实现。但也许硬件级总线锁定可以防止电线上的位错位?读取过程是否获得了一个很快就会改变的值并不重要,只有读取被破坏为既不是旧值也不是新值的东西才重要。这是一个边缘情况:只有 32 位被写入和读取。
谷歌搜索 shmat 的东西并没有让我在这个领域找到任何确定的东西。
我强烈怀疑它不安全或不理智,我真正想要的是一些详细描述问题的文章的指针。
sockets - btw 2 pc 使用共享内存进行通信?
我必须建立一个概念来使用共享内存或 tcp 套接字编程概念在两台计算机之间进行通信。我该怎么做?是否可以在客户端服务器架构中实现共享内存?我该怎么做?
ipc - RE:Posix 和 System V IPC
消息队列、共享内存和信号量中哪个 IPC 最容易转换为网络 IPC,哪个最难。
将 System V 共享内存转换为网络 IPC 或将 Posix 共享内存转换为网络 IPC 会更容易吗
concurrency - 寻找监视器诗句信号量的好类比/例子
监视器应该解决并发环境中的信号量问题。
我正在寻找一个使用监视器与信号量的好类比。
请使用类比信息:
4 个任务(TaskA、TaskB、TaskC、TaskD)
1 个变量varX
每个 Task 都想根据某个事件来操作varX 。
ipc - 回复:共享内存和信号量
IPC 机制是使用共享内存和信号量来同步单工(如管道)还是双工(如消息队列)?
ipc - 使用 POSIX 共享内存时,您在哪里放置 POSIX 信号量?
我正在尝试使用 POSIX 共享内存和 POSIX 信号量构建客户端服务器应用程序。我是否必须将信号量放在共享内存段中,或者信号量可以只是全局变量吗?我希望遵守 POSIX 约定。
client-server - 为什么某些 posix 共享内存段和 posix 信号量对 ipcs 不可见
我使用 posix 共享内存和 pshared=1 的 posix 未命名信号量构建了一个客户端服务器应用程序。信号量放置在共享内存中。程序运行良好,但是当我键入 ipcs -m 或 ipcs -s 时,我没有看到我创建的任何共享内存段或信号量。为什么会这样?
java - Linux 上 Java/C++ 应用程序共享内存 IPC 的良好替代品
我目前在 Java 和 C++ 应用程序之间为 IPC 使用共享内存,但正在寻找更方便的替代方案。
有人可以建议具有相同性能和速度的更好方法吗?
谢谢!
c++ - C++ 中具有共享内存的远程代理
假设我有一个守护进程,它通过共享内存将其内部状态共享给各种应用程序。进程可以将 IPC 消息发送到命名管道上的守护进程以执行各种操作。在这种情况下,我想为客户端创建一个 C++ 包装类,它充当一种“远程代理”,以隐藏客户端的一些血腥细节(同步、消息传递等),并更容易隔离代码单元测试。
我有三个问题:
- 一般来说,这是一个好主意/方法吗?
- 您在此设置中是否有任何同步技巧或陷阱,或者使用标准的读写器互斥体设置是否足够?
- 有什么我应该考虑的框架吗?
所讨论的目标是具有 2.18 内核的嵌入式 linux 系统,因此内存和编译器功能存在限制。
operating-system - 不分离共享内存段有什么影响
不分离共享内存段有什么影响?
不同的操作系统如何处理这个问题?
能不能分离妥协操作系统的稳定性?
谢谢。