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