(一)
上一条款说的auto_ptr和tr1::share_ptr适合于heap-based的资源,然而并不是所有资源都是heap-based的。换句话说并不是tr1::shared_ptr 和 auto_ptr 永远适合做为资源的管理者。所以有时难免还是需要实现自己的资源管理类型。
假设Mutex类型通过lock和unlock两组函数进行互斥器的锁定和解锁,可能我们希望和auto_ptr一样...
分类:
编程语言 时间:
2014-06-19 10:22:06
阅读次数:
302
多线程代码被加入到mini-muduo,本篇主要介绍Linux多线程编程的5个类
1 Mutex
2 Condition
3 BlockingQueue
4 Thread
5 ThreadPool...
分类:
编程语言 时间:
2014-06-15 19:23:00
阅读次数:
348
这是来自知乎的一个问题,由@吴志强提出,有意思的是,他看了大家的回答后,突然顿悟了,同时也发现有人答错了,于是乎,他自己回答了自己的问题。我看完后,发现他分析的很精彩,于是就记录在这。下面是他的自答:
-----------------------------------------------------------------------------
看了之后,我获得了启发,突然觉得这或许...
分类:
其他好文 时间:
2014-06-15 17:47:25
阅读次数:
252
MySQL的锁: MySQL内部有很多种类的锁,按照用途不同,可以分为两类: 1.
保护内存结构的锁 server层对于线程共享的变量,基本上使用mutex,rwlock来做保护。 innodb层会增加使用spinlock自旋锁 2.
提供或者保...
分类:
数据库 时间:
2014-06-12 13:27:02
阅读次数:
293
#include #include #include #include
"ringbuffer.h"static int b_flag = 0;pthread_mutex_t mutex =
PTHREAD_MUTEX_INITIALIZER;#define TX_LOCK(lock) pthr.....
分类:
系统相关 时间:
2014-06-08 20:45:34
阅读次数:
452
互斥锁用于上锁,条件变量则用于等待。条件变量是类型为pthread_cond_t的变量。一般使用如下函数:
#include
int pthread_cond_wait(pthread_cond_t *cptr, pthread_mutex_t *mptr);
int pthread_cond_signal(pthread_cond_t *cptr);每个条件变量总是有一个互斥锁与之关联。调用...
分类:
系统相关 时间:
2014-06-08 17:45:15
阅读次数:
337
1.
信号量机制的缺陷问题:在上面的生产者消费者实例中,信号量的工作机制如下(我们以生产者的代码为例):1 down(&empty);2
down(&mutex);3 enter_item(item);4 up(&mutex);5
up(&full);如果交换1号和2号语句,变成:1 down(&m...
分类:
其他好文 时间:
2014-06-06 22:36:54
阅读次数:
336
第一章 线程安全的对象生命期管理第二章 线程同步精要第三章
多线程服务器的适用场合与常用编程模型第四章
C++多线程系统编程精要1.(P84)11个常用的最基本Pthreads函数:2个:线程的创建和等待结束(join)。封装为muduo::Thread4个:mutex的创建、销毁、加锁、解锁。封装...
分类:
编程语言 时间:
2014-06-02 08:58:26
阅读次数:
434
***************************************************************************************************************************
作者:EasyWave 时间:2014.05.31
类别:μC/OS-II-操作系统...
分类:
其他好文 时间:
2014-06-01 09:39:49
阅读次数:
356