摘要: fcntl解决文件共享的问题,而select处理I/O复用的情况。flock用于对文件施加建议性锁,而fcntl不仅可以施加建议性锁,还可以施加强制锁。同时,fcntl还能对文件的某一记录进行上锁,也就是记录锁。记录锁又可分为读取锁和写入锁,其中读取锁又称为共享锁,它能够使多个进程都能在文件的同一部分建立读取锁。而写入锁又称为排斥锁,在任何时刻只能有一个进程在文件的某个部分上建立写入锁。当然,在文件的同一部分不能同时建立读取锁和写入锁。#include <sys/types.h>#include <unistd.h>#include <fcntl.h>函数原 阅读全文
posted @ 2011-01-21 19:09 高性能golang 阅读(852) 评论(0) 推荐(0) 编辑
摘要: 5个不带缓存的文件I/O操作:open,read,write,lseek,close不带缓存是指每一个函数都只调用系统中的一个函数,这些函数不是ANSIC的组成部分,是POSIX的组成部分。#include<sys/types.h> // 提供类型 pid_t的定义#include<sys/stat.h>#include<fcntl.h>intopen(const char *pathname,flags,int perms)#include<unistd.h>intclose(int fd)#include<unistd.h>ssi 阅读全文
posted @ 2011-01-21 15:19 高性能golang 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 1.void *calloc(size_t nmemb,size_t size);#include<stdlib.h>struct test{int a[10];char b[20];}main(){struct test *ptr=calloc(sizeof(struct test),10);}2.#include<string.h>void bzero(void *s,int n);bzero()会将参数s所指的内存区域前n个字节,全部设为零值。3.void * memset (void *s ,int c, size_t n);#include <strin 阅读全文
posted @ 2011-01-21 08:24 高性能golang 阅读(456) 评论(0) 推荐(0) 编辑