|
|
1
3
您需要使用“共享”信号量在进程之间共享/发出信号。非共享信号量(就像您正在使用的)只能同步单个进程中的线程。 要创建共享信号量,需要将其分配到共享内存中,这有点棘手。最简单的方法是使用
这有点无效,因为它为信号量分配了整个页面(通常为4096字节),浪费了大部分时间(mmap会将请求的大小四舍五入为页面大小的倍数)。
如果您需要多个信号量,您可以通过对mmap的单个调用将它们分配为一个数组。如果您需要更多的共享内存(例如在进程之间进行通信的缓冲区),您可以将所有需要的东西收集到一个大型结构中,并使用进行分配
|
|
|
Denis · 在C、linux中同步进程 2 年前 |
|
|
ridhomblr · 如果DI>32767,VGA输出不显示 2 年前 |
|
|
dmgzh · 如何根据所使用的系统更改变量值?(Python) 2 年前 |
|
|
gitm_248 · Ubuntu安装和关闭的问题:寻求解决问题的指导 2 年前 |
|
|
Adriana · 尝试创建文件列表时出错 2 年前 |