发布时间:2014-12-22 11:00:37
当不需要使用有名信号量关联的名字时,可改用基于内存的信号量。基于内存的信号量至少具有随进程的持续性,然而他们真正的持续性却取决于存放信号量的内存区的类型。只要含有某个基于内存信号量的内存区保持有效,该信号量就一直存在。1.如果某个基于内存的信号量是由单个进程内的各个线程共享的(sem_init函数的入参share.........【阅读全文】
发布时间:2014-12-19 10:14:36
UNIX系统支持在不同进程间共享打开的文件。内核使用三种数据结构表示打开的文件:1.进程表记录项中的包含有一张打开文件描述符表,每个文件描述符表包括: a)文件描述符标志(close_on_exec) b)指向一个文件表项的指针2)内核为每个打开的文件维持一张文件表,每个文件.........【阅读全文】
发布时间:2014-12-17 15:22:49
#include <fcntl.h>int fcntl(int fd, int cmd, .../* struct flock *arg */ );返回值:若成功则取决于cmd,若出错则返回-1;用于记录上锁的cmd参数共有三个值。F_SETLK ----获取(l_type为F_RDLCK或F_WRLCK)或释放(F_UNLCK)由arg指向的flock结构所描述的锁,如果无法获取锁,该函数立即返回一个EACCES.........【阅读全文】
发布时间:2014-12-16 15:13:25
点击(此处)折叠或打开#include "../unipc.h"#include "pthread_rwlock.h"int my_pthread_rwlock_destroy(my_pthread_rwlock_t * rw){ if(rw->rw_magic != RW_MAGIC)&nb.........【阅读全文】
发布时间:2014-12-16 15:12:43
点击(此处)折叠或打开#include "../unipc.h"#include "pthread_rwlock.h"int my_pthread_rwlock_init(my_pthread_rwlock_t *rw, my_pthread_rwlockattr_t *attr){ int .........【阅读全文】