码迷,mamicode.com
首页 >  
搜索关键字:互斥    ( 2999个结果
[并发并行]_[C/C++]_[使用线程本地存储Thread Local Storage(TLS)-win32和pthread比较]
场景: 1. 需要统计某个线程的对象上创建的个数. 2. 当创建的堆空间需要根据线程需要创建和结束时销毁时. 3. 因为范围是线程只能看到自己的存储数据,所以不需要临界区或互斥量来维护自己的堆内存. 加入如果用全局std::map实现,那么必须在put和get时加锁,这是很损耗资源的. 4. 可以用在维护一个连接,比如socket,database连接....
分类:编程语言   时间:2015-03-01 00:25:18    阅读次数:273
C++拾遗--多线程:临界区解决子线程的互斥
C++拾遗--多线程:关键段解决子线程的互斥 前言 为了解决子线程的互斥问题,windows系统提出了关键段(CRITICAL_SECTION)的概念。它一共有四个共两对操作:初始化、销毁,进入、离开。它们定义在头文件synchapi.h中。 1.初始化关键段变量 VOID WINAPI InitializeCriticalSection( LPCRITICAL_SECTION lpCriticalSection ); 2.销毁关键段变量 VOID WINAPI DeleteCrit...
分类:编程语言   时间:2015-02-28 23:08:07    阅读次数:495
IPC: 同步
进程/线程 同步.(posix) 互斥锁 条件变量 读写锁 记录上锁...
分类:其他好文   时间:2015-02-28 21:45:00    阅读次数:286
IPC:进程间通信
IPC的3种技术: 进程(线程)间传递消息的6种接口: 1.管道 2.消息队列 3.过程调用 进程(线程)间同步的6种接口: 1.信号量(两种) 2.互斥量 3.条件变量 4.读写锁 5.记录上锁 进程(线程)间共享内存的2种接口: 1.匿名共享内存 2.有名共享内存...
分类:系统相关   时间:2015-02-28 18:40:12    阅读次数:215
[并发并行]_[线程同步]_[pthread和win32的临界区(Critical Section)比较]
场景: 1. 在多线程程序里,临界区是最常见的同步访问共享资源的最简单的解决方案. 2. pthread是跨平台的线程模型,那么它和本地的线程模型的临界区编程有什么区别呢?...
分类:编程语言   时间:2015-02-27 18:27:43    阅读次数:306
浅析线程间通信二:读写锁和自旋锁
上文讨论了互斥量和条件变量用于线程的同步,本文将讨论读写锁和自旋锁的使用,并给出了相应的代码和注意事项,相关代码也可在我的github上下载。  读写锁  对于互斥量要么是锁住状态要么是不加锁锁状态,而且一次只有一个线程可以对其加锁,而读写锁对线程的读数据加锁请求和写数据加锁请求进行了区分,从而在某些情况下,程序有更高的并发性。对于读写锁,一次只有一个线程可以占有写模式的读写锁,但是多个线程可...
分类:编程语言   时间:2015-02-25 17:08:45    阅读次数:162
浏览器内核常驻线程
浏览器内核常驻线程浏览器 GUI 渲染线程JavaScript 引擎线程浏览器定时触发器线程浏览器事件触发线程浏览器 http 异步请求线程浏览器 GUI 渲染线程 和JavaScript 引擎线程之间是互斥的在debug里面check一下如下代码的效果即可知道var sleep = functio...
分类:编程语言   时间:2015-02-24 22:12:35    阅读次数:285
(五十七)线程的资源共享、单例的实现
【资源共享的问题】 例如线程A与B均实现数字Num的加一操作,如果不加以限制,可能A和B先后拿到最初的Num,然后返回Num+1,无法实现Num+1之后再+1。 【互斥锁】 使用互斥锁(@synchronized)来解决,让线程A操作时锁住Num,不允许B的读写,直到A操作完并且写回后,再让B进行工作,再锁住Num,直到B操作完毕,再解开锁,类似于上厕所,在厕所内要锁门一样。 使用@syn...
分类:编程语言   时间:2015-02-20 17:31:13    阅读次数:188
Linux多线程实践(6) --Posix读写锁解决读者写者问题
Posix读写锁int pthread_rwlock_init(pthread_rwlock_t *restrict rwlock, const pthread_rwlockattr_t *restrict attr); int pthread_rwlock_destroy(pthread_rwlock_t *rwlock); int pthrea...
分类:编程语言   时间:2015-02-19 18:39:41    阅读次数:229
Linux多线程实践(5) --Posix信号量与互斥量解决生产者消费者问题
Posix信号量Posix 信号量有名信号量无名信号量sem_opensem_initsem_closesem_destroysem_unlink sem_waitsem_post 有名信号量#include /* For O_* constants */ #include /* For mode constants */ #include sem_t *s...
分类:编程语言   时间:2015-02-19 17:32:31    阅读次数:234
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!