线程同步
papiping
这个作者很懒,什么都没留下…
展开
-
线程同步-信号量
3.信号量 (Semaphore) A synchronization object that allows a limited number of threads in one or more processes to access a resource. Semaphores are useful in controlling access to a shared resource that原创 2011-12-13 14:31:54 · 337 阅读 · 0 评论 -
多写多读-线程安全队列1
#pragma once #include "TSemaphore.h" #include "TLock.h" //支持多读多写 #ifndef TMULTIRWQUEUE_H #define TMULTIRWQUEUE_H template class TMultiRWQueue { public: typedef T Element; private: Ele原创 2011-12-13 15:39:50 · 515 阅读 · 0 评论 -
事件锁-Linux
#ifndef WAIT_LOCK_DEF #define WAIT_LOCK_DEF /******************************************************************************* * name : WORDDATA * description: 本类主要用以加锁和解锁 * remark : Crea原创 2011-12-13 14:37:02 · 704 阅读 · 0 评论 -
多写多读-线程安全队列3
//执着放入一个数据(没有空间就一直等待) template bool TMultiRWQueue::put(Element& data) { if (!m_bInit) { return false; } //获得空闲信号量通知 if (!m_semaPut.Wait()) { return false; } //放入元素 myPut原创 2011-12-13 15:50:44 · 488 阅读 · 0 评论 -
多写多读-线程安全队列4
//放入数据的过程 template bool TMultiRWQueue::myPut(Element& data) { if (!m_lockPut.Lock()) { return false; } //拷贝元素数据到空闲节点 *m_Put = data; //空闲节点指向下一个位置 m_Put++; if (m_Put >= m_Tail原创 2011-12-13 15:51:59 · 330 阅读 · 0 评论 -
线程同步-临界区
1.临界区(Critical Section) A synchronization object that allows one thread at a time to access a resource or section of code. Critical sections are useful when only one thread at a time can be allow原创 2011-12-13 14:22:49 · 418 阅读 · 0 评论 -
临界区锁
#pragma once #include class TCriticalSection { private: CRITICAL_SECTION m_critical; TCriticalSection() { InitializeCriticalSection(&m_critical); }; ~TCriticalSection() { De原创 2011-12-13 14:21:03 · 383 阅读 · 0 评论 -
线程同步-互斥量
2.互斥量(Mutex) A synchronization object that allows one thread mutually exclusive access to a resource. Mutexes are useful when only one thread at a time can be allowed to modify data or some other原创 2011-12-13 14:23:33 · 380 阅读 · 0 评论