(一)
上一条款说的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
1.boost里的互斥量类型由mutex表示。代码示例:12345678910111213141516171819202122232425#include #include #include #include #include usingnamespacestd;usingnamespaceboos...
分类:
其他好文 时间:
2014-06-16 00:06:34
阅读次数:
399
●boost锁的概述boost库中提供了mutex类与lock类,通过组合可以轻易的构建读写锁与互斥锁。▲mutex对象类mutex类主要有两种:boost::mutex,boost::shared_mutex,其中mutex有lock和unlock方法,shared_mutex除了提供lock和u...
分类:
其他好文 时间:
2014-06-15 23:47:04
阅读次数:
312
1.在单线程中,我们每次只能做一件事情。
而在多线程中,其实最本质的也是一次只能做一件事情,只是CPU给定的时间片完成之后,切换到另一个线程,然后这个分配CPU的时间片完成之后,再次切换到另一个线程,如此反复,其间切换的速度很快,给人一种同时进行的错觉而已。
但在多线程中,往往会发生两个线程抢占资源的问题,所以我们需要防止这些资源访问的冲突。
C#提供线程同步机制来防止资源访问的冲突,其中主...
分类:
编程语言 时间:
2014-06-15 19:38:36
阅读次数:
293
多线程代码被加入到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