linux软件编程----进程间通信的方式

一、进程间通信----共享内存

        1.进程间通信最高效的形式,不需要实现数据的收发,只需要将两个进程映射到同一片空间,对数据存放取出即可;

        2.共享内存操作步骤:

                (1)创建ipc对象的名称:

                        具体类似于消息队列一样,使用ftok函数;

                (2)创建共享内存:

                        shmget:成功返回共享内存的id号

                (3)映射:

                        shmat:映射共享内存空间;

                        注:该函数的参数当中,映射的地址必须为4K的整数倍;

                (4)操作共享内存空间

                (5)解锁映射:

                        函数接口:shmdt

                (6)删除共享空间:

                        shmctl:向共享空间发送命令;

                        IPC_RMID:删除命令;

二、进程间通信的方式----有名信号量

         类似于线程间相互通信的信号量;

        步骤:

                (1)创建ipc对象名称:

                        函数接口:ftok

                (2)创建一个信号量数组:

                        函数接口:semget

                (3)向信号量数组发送命令:

                        函数接口:semctl

                (4)申请释放信号量:

                        函数接口:semop

你可能感兴趣的:(linux)