Linux系统编程
5hello_linux5
这个作者很懒,什么都没留下…
展开
-
Linux系统编程---线程同步---条件变量
1.条件变量介绍 条件变量时线程同步的另一种方式。条件变量个多个线程提供了一个会合的场所。条件变量和互斥量一起使用,允许线程以无竞争的方式等待特定条件的发生。 2.条件变量作用 互斥量和条件变量联合避免了条件竞争。 条件竞争:一个线程预备等待一个条件变量,当它在真正进入等待之前,另一个线程恰好触发了该条件。 个人理解: 线程A测试条件不满足,进而在释放锁和进入阻塞之间,其他线程触原创 2014-03-30 21:31:13 · 617 阅读 · 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 · 686 阅读 · 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 · 642 阅读 · 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 · 664 阅读 · 0 评论 -
Linux环境进程间通信(一) 管道及有名管道
原博客 1、 管道概述及相关API应用 1.1 管道相关的关键概念 管道是Linux支持的最初Unix IPC形式之一,具有以下特点: 管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是转载 2014-03-31 22:42:13 · 532 阅读 · 0 评论 -
深刻理解Linux进程间通信(IPC)
序 linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了“system V IPC”,通信进程局限在单个计算机内;后者则跳过了该限制,形成了基于套接口(socket)的转载 2014-03-31 20:55:57 · 545 阅读 · 0 评论