我编写了一个代码,使用全局变量将64位值从编写器线程传递到读取器线程。 (为简单起见,未提及任何锁定)
uint64_t g_x;
writer_thread()
{
g_x = new_value;
}
reader_thread()
{
uint64_t curr_value;
curr_value = g_x;
}
现在,我想将写入器线程和读取器线程分成不同的进程,而不会产生额外的延迟,系统调用等吗?
如何在Linux中执行此操作?可能吗?如何将g_x变量放入两个进程的地址空间?
如果我使用shmget / shmat,mmap(或其他),可以达到相同的性能吗?
谢谢。