Linux下用信号量实现对共享内存的访问保护(二)

前面利用Linux中的系统V共享内存机制和semaphore来实现了一个简单的进程级共享内存,但仅仅是一个简单实现,还有很多细节问题没有考虑,比如:
1:很多资料中讲到,系统V共享内存是随内核持续的,即使所有访问共享内存的进程都已经正常终止,共享内存仍然存在,在内核引导之前,对该共享内存区域的任何改写操作都将一直保留,除非显式删除共享内存。的确是这样的,系统V机制分配的共享内存将一直保留,若要删除要么重启系统,要么就调用shmctl来显示删除。那么,shmctl怎么使用呢?这在下面将会讲到。

2:对于两个不同的进程,如何在其中一个进程满足某种条件时唤醒另一个进程呢?下面也会讲到。

.....................................(待续)

你可能感兴趣的:(Linux下用信号量实现对共享内存的访问保护(二))