Linux系统编程
5hello_linux5
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux系统编程---线程同步---条件变量
1.条件变量介绍条件变量时线程同步的另一种方式。条件变量个多个线程提供了一个会合的场所。条件变量和互斥量一起使用,允许线程以无竞争的方式等待特定条件的发生。2.条件变量作用互斥量和条件变量联合避免了条件竞争。条件竞争:一个线程预备等待一个条件变量,当它在真正进入等待之前,另一个线程恰好触发了该条件。个人理解: 线程A测试条件不满足,进而在释放锁和进入阻塞之间,其他线程触原创 2014-03-30 21:31:13 · 686 阅读 · 0 评论 -
Linux系统编程---线程概念
1.建立线程对于线程的操作都是通过pthread_t类型的线程ID来实现的。创建线程int pthread_create(pthread_t * thread, const pthread_attr_t *attr, void *(*start)(void *), void *arg)thread返回创建的线程的ID原创 2014-03-30 21:28:08 · 747 阅读 · 0 评论 -
Linux系统编程---IO操作
1.系统调用系统调用效率较低1.系统调用开销大,要从用户空间切换到内核空间,然后切换回用户空间 2.系统调用与底层驱动相关,不一定能够按指定一次写完。write函数#include size_t write(int files, const void *buf, size_t nbytes );返回值 0:写入字节为0-1:写入出错了 错误原创 2014-03-30 21:22:10 · 699 阅读 · 0 评论 -
Linux系统编程---线程同步---互斥量
互斥量是信号灯的特殊形式。mutex: mut表示相互(mutual) ,ex表示排斥(exclusion)。1.互斥量的初始化静态初始化pthread_mutex_t _mutex = PTHREAD_MUTEX_INITIALIZER动态初始化int pthread_mutex_init(phtread_mutex_t *mutex,原创 2014-03-30 21:29:29 · 720 阅读 · 0 评论 -
Linux环境进程间通信(一) 管道及有名管道
原博客1、 管道概述及相关API应用1.1 管道相关的关键概念管道是Linux支持的最初Unix IPC形式之一,具有以下特点:管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是转载 2014-03-31 22:42:13 · 600 阅读 · 0 评论 -
深刻理解Linux进程间通信(IPC)
序linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了“system V IPC”,通信进程局限在单个计算机内;后者则跳过了该限制,形成了基于套接口(socket)的转载 2014-03-31 20:55:57 · 608 阅读 · 0 评论
分享