1.什么是消息队列?消息队列的类型?
消息队列就是一个消息的链表。消息队列分为POSIX消息队列和V消息队列。新开发的应用程序尽量使用POSIX消息队列。V消息队列被大量使用。
2.消息队列的定义?
struct kern_ipc_perm
{
key_t key;
uid_t uid;
gid_t gid;
uid_t cuid;
gid_t cgid;
mode_t mode;
unsigned long seq;
};
3.消息队列的函数?
ftok(将文件名转化为键值)
msgget(用于创建消息队列)
msgrcv(用于读出消息队列的数据)
msgsnd(用于往消息队列写入数据)
msgctl(用于控制消息队列)
4.消息队列的特点?
消息队列与管道和有名管道相比,具有更大的灵活性。提供有格式字节流,方便编程。消息有类型,可作为优先级使用。消息队列可以在几个进程间复用。生命力更强,应用空间更大。
5.信号灯集函数?
semget(配置信号灯)
semop(信号灯处理)
semctl(控制信号灯)
6.信号灯集的特点?
主要用于进程间同步。可用于多种共享资源的进程间同步。
7.共享内存的方式一所用的主要函数?
mmap函数。函数用来建立内存映射。
munmap函数,函数用来解除内存映射。
8.共享内存方式二系统调用的函数?
shmget(创建共享内存)
shmat(映射共享内存)
9.系统v与mmap函数的区别?
(1)系统v共享内存中的数据,不写入实际磁盘中去。mmap函数可以指定将数据写入磁盘文件中去。
(2)系统v是随内核持续的
(3)mmap函数要考虑进程何时中止对通信的影响
10.共享内存通信的特点?
消息队列就是一个消息的链表。消息队列分为POSIX消息队列和V消息队列。新开发的应用程序尽量使用POSIX消息队列。V消息队列被大量使用。
2.消息队列的定义?
struct kern_ipc_perm
{
key_t key;
uid_t uid;
gid_t gid;
uid_t cuid;
gid_t cgid;
mode_t mode;
unsigned long seq;
};
3.消息队列的函数?
ftok(将文件名转化为键值)
msgget(用于创建消息队列)
msgrcv(用于读出消息队列的数据)
msgsnd(用于往消息队列写入数据)
msgctl(用于控制消息队列)
4.消息队列的特点?
消息队列与管道和有名管道相比,具有更大的灵活性。提供有格式字节流,方便编程。消息有类型,可作为优先级使用。消息队列可以在几个进程间复用。生命力更强,应用空间更大。
5.信号灯集函数?
semget(配置信号灯)
semop(信号灯处理)
semctl(控制信号灯)
6.信号灯集的特点?
主要用于进程间同步。可用于多种共享资源的进程间同步。
7.共享内存的方式一所用的主要函数?
mmap函数。函数用来建立内存映射。
munmap函数,函数用来解除内存映射。
8.共享内存方式二系统调用的函数?
shmget(创建共享内存)
shmat(映射共享内存)
9.系统v与mmap函数的区别?
(1)系统v共享内存中的数据,不写入实际磁盘中去。mmap函数可以指定将数据写入磁盘文件中去。
(2)系统v是随内核持续的
(3)mmap函数要考虑进程何时中止对通信的影响
10.共享内存通信的特点?
共享内存允许多个进程共享一给定的存储区,不需来回复制,是最快的一种通信机制。