本文主要是介绍APUE-从SystemV IPC可以学到的设计思路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 既然消息队列、信号量、共享内存都有控制数据(结构体),提供一个控制函数对该控制数据进行读写,并且通过一个参数int cmd来决定对该控制数据执行什么控制操作,而且不同的cmd可以有返回值,可以无返回值。增加函数的灵活度。
2. 根据函数的参数,决定是创建一个新的还是打开一个既存的。可以避免把函数写死或写两个函数:创建函数和打开函数。
3. 函数执行的过程,通过设置类似errno的值,解释发生了什么错误。
4. 可以给函数设置一个flag形参,扩展函数的功能,避免写多个函数实现。比如根据该flag值,设置该函数是阻塞的还是非阻塞的(非阻塞而且资源不够用时,直接出错返回)。
5. 参数的正负值可以表示两种状态信息,同时表示值的信息。而且0值可以表示另一种状态。
6. 如果函数阻塞,需要考虑进程捕捉到一个信号,并且从该信号处理程序中返回,阻塞是否会被中断。如果被中断是否需要设置类似errno的值。
7. 调用的函数需不需要是原子性的。这篇关于APUE-从SystemV IPC可以学到的设计思路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!