
linux应用编程
林凡_123
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
pthread_mutex_t 和 pthread_cond_t 配合使用的简要分析
1、需求有消费者A和生产者B线程,共享变量n,生存者对n++,消费者对n--,消费者线程A必须要等到n>0才可以执行下去,当然生产者B线程就执行n++,让消费者能执行下去。2、生产者和消费者模型中互斥锁和条件变量的使用流程图如下,其中蓝色代表消费者的执行流,红色是生产者的执行流。3、几个函数/* 初始化一个条件变量 */int pthread_cond_init ...转载 2019-11-21 11:43:08 · 367 阅读 · 0 评论 -
线程的引入
1、进程的劣势(1)进程间切换开销大(2)进程间通信特别麻烦而且效率低2、解决方案就是线程技术(1)线程技术保留了进程技术实现多任务的特性。(2)线程的改进就是在线程间切换和线程间通信上提升了效率。(3)一个简单的例子实现一个进程中多线程,实现同时读键盘和鼠标#include <stdio.h>#include <sys/stat.h>#i...原创 2019-09-07 10:17:55 · 254 阅读 · 0 评论 -
linux多线程编程中使用信号量同步与互斥锁
一、什么是信号量线程的信号量与进程间通信中使用的信号量是一样的,它是一个特殊的变量。可以被增加和减少,但对其的关键操作访问必须保证原子操作。如果一个程序中有多个线程试图改变一个信号量的值,系统将保证所有的操作都依次进行。二、信号量的函数信号量的函数都是以sem_开头,线程中使用的基本信号量函数有4个,在头文件semaphore.h中。1、sem_init函数该函数用于创建信号量...原创 2019-09-09 17:55:56 · 384 阅读 · 0 评论 -
select函数
1、select函数函数原型:int select(int nfds, fd_set *restrict readfds, fd_set *restrict writefds, fd_set *restrict errorfds, struct timeval *restrict timeout);(1)函数的作用:read和wr...原创 2019-09-17 09:10:29 · 569 阅读 · 0 评论 -
poll函数
1、函数原型:int poll(struct pollfd fds[], nfds_t nfds, int timeout);2、函数的作用:和select函数基本相同,为了提高程序的运行效率,把阻塞原来阻塞的函数编程非阻塞。并可以设置如果超过时间未发生事件,则直接返回。3、参数:(1)fds,一个数组名,数组成员里面存的类型为struct pollfdstruct p...原创 2019-09-17 10:48:31 · 526 阅读 · 0 评论