Let's go!!!!!
发布时间:2012-12-15 09:43:55
信号量是一个可被多个进程共享的数据结构。信号量通常是在多个进程访问一个临界资源的情况下,用于同步各个进程之间的操作,避免死锁问题。当同步访问一个资源时,可以设置一个信号量,其初始值设可用资源的数目。每当进程想要获取资源时,都要检测相关的信号量。信号量大于0表明资源可用,当获取对资源的访问权限时,将信号量减一。为保证程序运行的正确性,对信号量的检测和减操作都必须是原子性的。如果检测到信号量值为0,则表明资源不可用看,请求进程必须等待;当一个进程结束时,对与该进程对应的信号量加一,表明此进程归还对此资源的使用。一旦一种资源被归还,所有等待该资源的进程都会受到系......【阅读全文】
发布时间:2012-12-13 15:06:28
rand函数和srand函数: int rand(void) //产生随机数 函数说明 rand()会返回一随机数值,范围在0至RAND_MAX 间。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。关于随机数种子请参考srand()。 返回值 返回0至RAND_MAX之间的随机数值,RAND_MAX定义在stdlib.h,其值为2147483647。 void sra......【阅读全文】
发布时间:2012-12-12 12:54:55
pread()和pwrite()这两个函数可以原子性的定位搜索(seek)和执行I/O。 函数原型ssize_t pread(intfd, void *buf, size_tcount, off_toffset);返回值:成功,返回成功读取数据的字节数;失败,返回-1; 参数: (1) fd:要读取数据的文件描述符 (2) buf:数据缓存区指针,存放读取出来的数据 (3) count:读取数据的字节数 (4) offset:读取的起始地址的偏移量,读取地址=文件开始+offset。注意,执行后,文件偏移指针不变 函数原型ssize_t pwrite(intfd......【阅读全文】