
POSIX API
应用层编程技巧
wenyaocn
这个作者很懒,什么都没留下…
展开
-
进程间共享内存
#include#incudeint shmget(key_t key, size_t size, int shmflg)原创 2017-02-18 14:51:08 · 212 阅读 · 0 评论 -
进程间通信——管道
管道 父子进程或兄弟进程间的通信数据只能单向流动,要求双向通信时需建立两条管道通过建立于内存中的文件实现创建管道int fd[2]; int pipe(fd); (#include ) 相当于同时open两个文件描述符其中 fd[0] 用于读 fd[1]用于写PIPE_BUF有名管道 对管道的改进,支持翻译 2017-02-19 17:57:16 · 197 阅读 · 0 评论 -
进程间同步——互斥锁与条件变量
1 int pthread_mutex_init(pthread_mutex_t * mutex , pthread_mutexattr_t * attr);2 int pthread_mutex_destroy (pthread_mutex_t * mutex);3 int pthread_mutex_lock (pthread_mutex_t * mutex );4 int pthrea原创 2017-02-28 22:56:51 · 503 阅读 · 0 评论 -
POSIX线程
两种实现 linuxThreads Native POSIX Threads Library (NPTL)fork本身开销大,即使采用写时拷贝技术父子进程间的通信须经过IPC催生了轻量级进程——线程线程间的数据共享机制使得各线程间需要各种同步机制当进程间采用共享内存通信时,必然需要类似的同步IPC主要用于进程间 同步机制主要用于线程间线程独有的原创 2017-03-01 20:12:48 · 232 阅读 · 0 评论 -
可重入与线程安全
所谓可重入函数是指一个可以被多个任务调用的过程,任务在调用时不必担心数据是否会出错。满足下列条件的函数多数是不可重入的:使用静态的数据结构,如getlogin(),gmtime(),getgrgid(),getgrnam(),getpwuid()以及getpwnam()等等;函数实现时,调用了malloc()或者free()函数;实现时使用了标准I/O函数的。The Ope原创 2017-02-19 14:13:34 · 354 阅读 · 0 评论