![]() |
1
3
您需要使用“共享”信号量在进程之间共享/发出信号。非共享信号量(就像您正在使用的)只能同步单个进程中的线程。 要创建共享信号量,需要将其分配到共享内存中,这有点棘手。最简单的方法是使用
这有点无效,因为它为信号量分配了整个页面(通常为4096字节),浪费了大部分时间(mmap会将请求的大小四舍五入为页面大小的倍数)。
如果您需要多个信号量,您可以通过对mmap的单个调用将它们分配为一个数组。如果您需要更多的共享内存(例如在进程之间进行通信的缓冲区),您可以将所有需要的东西收集到一个大型结构中,并使用进行分配
|
![]() |
MaPo · Linux,设置锁定ICMP_过滤器选项 5 月前 |
![]() |
user2138149 · 双栈网络服务器无法按预期处理ipv4请求 6 月前 |
![]() |
Marco · PyCharm Linux系统文件上os.stat异常 7 月前 |