转载 http://blog.csdn.net/yusiguyuan/article/details/14161225线程间的同步技术,主要以互斥锁和条件变量为主,条件变量和互斥所的配合使用可以很好的处理对于条件等待的线程间的同步问题。举个例子:当有两个变量x,y需要在多线程间同步并且学要根据他们之...
分类:
其他好文 时间:
2014-07-26 00:50:46
阅读次数:
272
许多互斥对象如果放置了过多的互斥对象,代码就没有什么并发性可言,运行起来也比单线程解决方案慢。如果放置了过少的互斥对象,代码将出现奇怪和令人尴尬的错误。幸运的是,有一个中间立场。首先,互斥对象是用于串行化存取*共享数据*。不要对非共享数据使用互斥对象,并且,如果程序逻辑确保任何时候都只有一个线程能存...
分类:
其他好文 时间:
2014-07-26 00:27:46
阅读次数:
201
http://www.blogjava.net/fhtdy2004/archive/2009/07/05/285519.html线程同步:何时互斥锁不够,还需要条件变量?很显然,pthread中的条件变量与Java中的wait,notify类似假设有共享的资源sum,与之相关联的mutex 是loc...
分类:
编程语言 时间:
2014-07-26 00:21:16
阅读次数:
249
1.说明 Posix文件上锁可移植到所有Posix兼容系统,但是涉及到文件系统操作,可能比较费时。 本次使用线程上锁保护accept,这不仅适用于同一进程中各线程之间上锁,也适用于不同进程之间上锁。 2.进程间使用互斥锁要求 (1) 互斥锁变量必须存放在由所有进程共享的内存去。 (2) 必须告知线程...
分类:
其他好文 时间:
2014-07-25 13:53:01
阅读次数:
160
1.互斥量(QMutex)
头文件声明: #include
互斥量声明: QMutex m_Mutex;
互斥量加锁: m_Mutex.lock();
互斥量解锁: m_Mutex.unlock();
2.等待条件(QWaitCondition)
头文件声明: #inc...
分类:
其他好文 时间:
2014-07-23 13:20:44
阅读次数:
489
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17284351进程(线程)之间的两种关系:同步与互斥。所谓互斥,是指三部在不同进程之间的若干程序片断,当某个进程运行其中一个程序片段时,其它进程就不能运行它们之中的任一程序片段,只能等到该进程...
分类:
其他好文 时间:
2014-07-22 22:41:52
阅读次数:
263
lock 关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁。lock语句根本使用的就是Monitor.Enter和Monitor.Exit,也就是说lock(this)时执行Monitor.Enter(this),大括号结束时执行Monitor.Exit(this).他...
分类:
其他好文 时间:
2014-07-22 00:31:36
阅读次数:
242
临界区Critical Section(CS) 不可跨进程,效率高事件 Event 使用内核对象,可跨进程,用于通知互斥量 Mutex 使用内核对象,可跨进程,用户互斥信号量 Semaphore 使用内核对象,可跨进程,有限数量资源http://blog.csdn.net/column/deta.....
分类:
编程语言 时间:
2014-07-21 09:37:54
阅读次数:
294
一、死锁的概念1.死锁的概念系统中两个或两个以上的进程无限期地相互等待永远不会发生的条件,系统处于一种停滞状态,这种情况称为死锁。2.死锁产生的原因(1)进程推进顺序不当(2)对互斥资源的分配不当[并不是资源不足,但是剩余资源不足是有可能产生死锁的]。必须要指出的是,系统..
分类:
其他好文 时间:
2014-07-20 15:44:31
阅读次数:
173