Chinaunix首页 | 论坛 | 博客
  • 博客访问: 57034
  • 博文数量: 13
  • 博客积分: 275
  • 博客等级: 二等列兵
  • 技术积分: 121
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-18 15:53
文章分类

全部博文(13)

文章存档

2012年(3)

2011年(10)

我的朋友

发布时间:2012-12-11 13:59:26

在 上一篇文章结 束时,我描述了一个比较特殊的难题:如果线程正在等待某个特定条件发生,它应该如何处理这种情况?它可以重复对互斥对象锁定和解锁,每次都会检查共享数据 结构,以查找某个值。但这是在浪费时间和资源,而且这种繁忙查询的效率非常低。解决这个问题的最佳方法是使用 pthread_cond_wait() 调用来等待特殊条件发生。 了解 pthread_cond_wait() 的作用非常重要 -- 它是 POSIX 线程信号发送系统的核心,也是最难以理解的部分。 首先,让我们考虑以下情况:线程为查看已链接列表而锁定了互斥对象......【阅读全文】

阅读(2274) | 评论(1) | 转发(0)

发布时间:2012-12-11 10:58:11

1. 互斥锁创建        有两种方法创建互斥锁,静态方式和动态方式。POSIX定义了一个宏PTHREAD_MUTEX_INITIALIZER来静态初始化互斥锁,方法如下:               pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER;        &nb......【阅读全文】

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

发布时间:2012-12-10 16:35:35

mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。  在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。  我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的函数里面修改一些跟类状态无关的数据成员,那么这个数据成员就应该被mutalbe来修饰。  下面是一个小例子: class ClxTest{ public:  void Output() const;};voi......【阅读全文】

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

登录 注册