共享内存
摘要:只学习使用了system V的共享内存,无所谓了,反正都兼容。ipckey=ftok("/home1/xiangyz/shmm/",0);ftok有两个参数,一个是字符串,一个是字符。字符串就是共享内存的地址,字符一般用来标记这个标识符所标识的共享内存是这个进程所开辟的第几个共享内存。ftok()会返回一个key_t型的值,也就是计算出来的标识符的值。int shmget( key_t shmke...
阅读全文
RPC编程
摘要:programTESTPROG{versionVERSION{stringTEST(string)=1;}=1;}=87654321;客户端:#include<rpc/rpc.h>CLIENT*clnt_create( constchar*host,constu_longprognum,constu_longversnum,constchar*nettype);enumclnt_sta...
阅读全文
iPE 线程池
摘要:线程池的创建可以参考:swtpool_init在线程池创建线程的时候,将函数swtpool_thread_func的指针作为参数传给pthread_create;而swtpool_thread_func则通过调用swtpool_get_work来获取工作队列里待处理的workitem(这个队列里的workitem就是通过下面的swtpool_add_work函数插入的。)在获得待处理的work i...
阅读全文
线程同步
摘要:1.初始化条件变量pthread_cond_init#include<pthread.h>intpthread_cond_init(pthread_cond_t*cv,constpthread_condattr_t*cattr);返回值:函数成功返回0;任何其他返回值都表示错误初始化一个条件变量。当参数cattr为空指针时,函数创建的是一个缺省的条件变量。否则条件变量的属性将由catt...
阅读全文
UNIX Network Programming 读书笔记(Socket)
摘要:Socket Address Structures代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--structin_addr{in_addr_ts_addr;/*32-bitIPv4address*//*networkbyteordered*/}...
阅读全文
awk问题
摘要:sed -e "12s/^./1/" staffpms | awk '-F\' '{if (NR == 6) { {split($1, sarr, ","); nattrs = int(sarr[1])}{idx =2; vidx=(nattrs * 2) + 2; replaced = 0}while((!replaced) && (idx < ((nattrs*2)+2)...
阅读全文
《Linux程序设计》读书笔记:进程间通信:管道
摘要:popen与pclose #include <stdio.h>函数原型如下: FILE *popen(const char *command, const char *open_mode);int pclose(FILE *stream_to_close);popen函数允许一个程序将另一个程序作为新进程来启动,并可以传递数据给它或者通过它接收数据。command字符串是要运行的程序名...
阅读全文
《Linux程序设计》读书笔记:POSIX线程
摘要:用信号量进行线程同步:[代码]用互斥量进行同步:[代码]线程的属性:取消一个线程:
阅读全文
《Linux程序设计》读书笔记:信号
摘要:信号是由UNIX和LINUX系统响应某些条件而产生的一个事件。接收到该信号的进程会相应地采取一些行动。按照下面给出的代码,用sigaction来截获SIGINT信号(Ctrl+Z)。[代码]其中的sigaction函数的定义如下:[代码]再来看看第二个参数指向的结构的具体内容:structsigaction{void(*)(int)sa_handler/**//*function,SIG_DELo...
阅读全文