多线程
文章平均质量分 77
Hophan
这个作者很懒,什么都没留下…
展开
-
多线程
#include #include #include "errors.h" typedef struct alarm_tag{ //单个闹钟结构体,链表形式存储 struct alarm_tag *link; //链表的下一个节点 int seconds; //闹钟响铃所需经过的秒数(从创建时刻为起点) time_t time; //闹钟响铃的UNIX时间(从1970年1月1日0时0分0原创 2016-03-25 01:17:06 · 411 阅读 · 0 评论 -
POSIX多线程程序设计_流水线工作例程
#include #include "errors.h" typedef struct stage_tag{ //流水线的工作单元结构体 pthread_mutex_t mutex; //保护当前工作单元数据的互斥锁 pthread_cond_t avail; //等待当前工作单元存储数据可用的条件变量 pthread_cond_t ready; //等待当前工作单元可处理原创 2016-03-25 14:50:22 · 1038 阅读 · 0 评论 -
POSIX多线程程序设计 工作流例程2
之前的例程有说到超出工作单元数量的输入数据会使得整个进程进入死锁状态,然后改进了一下,让用户可以选择是获取数据再加入新的数据还是放弃加入新数据。 还有一点就是,我认为pipe_t中的mutex锁是多余的,因为其他线程只会修改工作单元内部的数据,而并不会影响工作流pipe链表的结构,而更改pipe_t的数据的只有pipe_result和pipe_start这两个函数,但是这两个函数只会在主原创 2016-03-25 16:13:17 · 499 阅读 · 0 评论