Chinaunix首页 | 论坛 | 博客
  • 博客访问: 65207
  • 博文数量: 20
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 11
  • 用 户 组: 普通用户
  • 注册时间: 2019-01-15 20:17
文章分类
文章存档

2019年(20)

我的朋友

发布时间:2019-01-15 20:55:30

一、概念1、线程可以安排它退出时的清理操作,这与进程的可以用atexit函数安排进程退出时需要调用的函数类似。这样的函数称为线程清理处理程序。线程     可以建立多个清理处理程序,处理程序记录在栈中,所以这些处理程序执行的顺序与他们注册的顺序相反pthread_cleanup_push(void (*rtn).........【阅读全文】

阅读(928) | 评论(0) | 转发(0)

发布时间:2019-01-15 20:55:25

一、为什么要使用互斥量1、当多个线程共享相同的内存时,需要每一个线程看到相同的视图。当一个线程修改变量时,而其他线程也可以读取或者修改这个变量,就需要对    这些线程同步,确保他们不会访问到无效的变量2、在变量修改时间多于一个存储器访问周期的处理器结构中,当存储器的读和写这两个周.........【阅读全文】

阅读(630) | 评论(0) | 转发(0)

发布时间:2019-01-15 20:55:22

一、读写锁的概念    1、读写锁与互斥量类似,不过读写锁有更高的并行性。互斥量要么加锁要么不加锁,而且同一时刻只允许一个线程对其加锁。对于一个变量的读取,    完全可以让多个线程同时进行操作    2、pthread_rwlock_t     rwlock &.........【阅读全文】

阅读(1064) | 评论(0) | 转发(0)

发布时间:2019-01-15 20:55:17

一、为什么要使用条件变量    一个典型的实例:    在一条生产先线上有一个仓库,当生产者生产的时候需要锁住仓库独占,而消费者取产品的时候也要锁住仓库独占。如果生产者发现仓库满了,那么他就不能生产了,变成了阻塞状态。但是此时由于生产者独占仓库,消费者又无法进入仓库.........【阅读全文】

阅读(675) | 评论(0) | 转发(0)

发布时间:2019-01-15 20:55:12

一、为什么要使用一次性初始化    有些事需要且只能执行一次(比如互斥量初始化)。通常当初始化应用程序时,可以比较容易地将其放在main函数中。但当你写一个库函数时,    就不能在main里面初始化了,你可以用静态初始化,但使用一次初始(pthread_once_t)会比较容易些。.........【阅读全文】

阅读(1165) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册