发布时间:2015-05-11 14:18:32
一、为什么要使用互斥量1、当多个线程共享相同的内存时,需要每一个线程看到相同的视图。当一个线程修改变量时,而其他线程也可以读取或者修改这个变量,就需要对 这些线程同步,确保他们不会访问到无效的变量2、在变量修改时间多于一个存储器访问周期的处理器结构中,当存储器的读和写这两个周.........【阅读全文】
发布时间:2015-05-11 14:18:28
malloc sbrk brk 内存申请 用户内存 calloc realloc ......【阅读全文】
发布时间:2015-05-11 14:18:22
一、读写锁的概念 1、读写锁与互斥量类似,不过读写锁有更高的并行性。互斥量要么加锁要么不加锁,而且同一时刻只允许一个线程对其加锁。对于一个变量的读取, 完全可以让多个线程同时进行操作 2、pthread_rwlock_t rwlock &.........【阅读全文】
发布时间:2015-05-11 14:18:18
一、为什么要使用条件变量 一个典型的实例: 在一条生产先线上有一个仓库,当生产者生产的时候需要锁住仓库独占,而消费者取产品的时候也要锁住仓库独占。如果生产者发现仓库满了,那么他就不能生产了,变成了阻塞状态。但是此时由于生产者独占仓库,消费者又无法进入仓库.........【阅读全文】
发布时间:2015-05-11 14:18:08
一、为什么要使用一次性初始化 有些事需要且只能执行一次(比如互斥量初始化)。通常当初始化应用程序时,可以比较容易地将其放在main函数中。但当你写一个库函数时, 就不能在main里面初始化了,你可以用静态初始化,但使用一次初始(pthread_once_t)会比较容易些。.........【阅读全文】