摘要:
参考:零长度(柔性)数组时GNU/GCC在C/C++上做得实用性扩展(C99之后的编译器支持),主要是用于变长数组(扩展变长的结构体)。引入原因:静态定长数组容易造成浪费;结构体中用指针虽然不会造成浪费,但得2次分配(先分配结构体变量空间,再分配数据域空间)内存和2次销毁,当申请和释放不在一个地方时 阅读全文
摘要:
PV 是在解决共享时的同步和互斥时的操作。起源于单处理机系统的研发者用火车上的信号灯思想,P表示通过,V表示释放,S表示信号。 在同步时,用P(S)来验证等的信号是否已准备好,否则就阻塞,即减一若大于0则执行;用V(S)即加一若大于0则执行; 在进行互斥时,先P(S)来申请,若资源不可用则阻塞;V( 阅读全文