linux编程小结
时间:2010-12-02 来源:bluesky2254
1.用信号做延时处理
signal(SIGALRM,handler);
alarm(8);
其中handler是一个函数名。表示定时后的操作,也可以用SIG_IGN(空函数,表示忽略这个信号)或SIG_DEF (系统默认处理). 2.线程的并发控制 1).线程互斥锁,只在同一个进程内有效,相当于资源数为1的信号量。初始化: pthread_mutex_init(),相当于 sem_init(),
加锁:pthread_mutex_lock(), 相当于sem_wait(),
解锁:pthread_mutex_unlock(),相当于sem_post()。
2). 信号量,匿名信号量,可用于线程互斥和同步,初始化sem_init()。 3.进程间通信机制 进程间通讯大致有6种通讯机制.管道,命名管道,信号,消息队列,信号量,共享内存.
管道最常用的应用就是在Shell用来实现|操作符的管道功能。它只能在有亲缘关系的进程间通信。创建:pipe();
有名管道(FIFO)可以在任意两个进程之间进行通讯,创建:mkfifo();
消息队列就是一个消息的链表,它提供有读写权限的进程对消息的读写。创建:msgget();
信号量主要提供对进程间共享资源访问控制机制。 有System V 、posix 2种。创建:semget()(System V ),sem_open()(posix有名信号量);
共享内存:将共享内存区域映射到调用进程的地址空间中去创建:shmget(),使用时需要mmap内存映射。
信号是进程间通信机制中唯一的异步通信机制 4.linux文件类型 可以用stat查看文件类型
alarm(8);
其中handler是一个函数名。表示定时后的操作,也可以用SIG_IGN(空函数,表示忽略这个信号)或SIG_DEF (系统默认处理). 2.线程的并发控制 1).线程互斥锁,只在同一个进程内有效,相当于资源数为1的信号量。初始化: pthread_mutex_init(),相当于 sem_init(),
加锁:pthread_mutex_lock(), 相当于sem_wait(),
解锁:pthread_mutex_unlock(),相当于sem_post()。
2). 信号量,匿名信号量,可用于线程互斥和同步,初始化sem_init()。 3.进程间通信机制 进程间通讯大致有6种通讯机制.管道,命名管道,信号,消息队列,信号量,共享内存.
管道最常用的应用就是在Shell用来实现|操作符的管道功能。它只能在有亲缘关系的进程间通信。创建:pipe();
有名管道(FIFO)可以在任意两个进程之间进行通讯,创建:mkfifo();
消息队列就是一个消息的链表,它提供有读写权限的进程对消息的读写。创建:msgget();
信号量主要提供对进程间共享资源访问控制机制。 有System V 、posix 2种。创建:semget()(System V ),sem_open()(posix有名信号量);
共享内存:将共享内存区域映射到调用进程的地址空间中去创建:shmget(),使用时需要mmap内存映射。
信号是进程间通信机制中唯一的异步通信机制 4.linux文件类型 可以用stat查看文件类型
相关阅读 更多 +