gpt4 book ai didi

posix - 进程间快速同步方法

转载 作者:行者123 更新时间:2023-12-02 02:34:48 25 4
gpt4 key购买 nike

我有一大块包含一些数据的共享内存。读取/写入此数据需要在不同进程之间同步。目前我正在使用未命名的 POSIX 信号量。由于我主要关心的是速度,我想知道信号量在这里是否最佳?它们是以系统调用结束的(例如用户空间 -> 内核空间),还是强制上下文切换?你有什么建议?

关于未命名信号量的一些信息:http://linux.die.net/man/3/sem_init

最佳答案

由于不同的进程具有不同的地址空间,任何同步功能都必须通过内核...除非您设法通过共享内存块进行同步。而你恰好有这样一 block 。

因此,我建议使用位于共享内存块中某个位置的 pthreads 互斥体(参见 pthread_mutex_lock())。这将适用于足够新的 Linux 系统(glibc-2.3.2 或更高版本,内核 2.6.x)。使用互斥锁,只有在争用(两个进程竞争同一个锁)时才会调用内核,在这种情况下,通过内核是正确的做法。

关于posix - 进程间快速同步方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2284730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com