1、进程创建int pthread_create (pthread_t * thread_id, __const pthread_attr_t * __attr, void *(*__start_routine) (void *), void *__restrict __arg);第一个参数为指向线...
分类:
编程语言 时间:
2014-09-05 17:42:41
阅读次数:
208
结合例子,就很好理解了。就是不要让共享变量被各个线程无序执行,导致结果不可预期threading模块中定义了Lock类,可以方便的处理锁定:#创建锁mutex = threading.Lock()#锁定mutex.acquire([timeout])#释放mutex.release()其中,锁定方法...
分类:
编程语言 时间:
2014-09-04 18:43:09
阅读次数:
264
事务并发:指事务能够在同一时间同时执行存在的问题:1、丢失修改(T1和T2同时修改,T2的结果将T1的结果覆盖)2、读脏数据(T1修改后,T2读取,但是T1撤销修改)3、不能重复读(T1前后读的数据不同)并发控制:锁:互斥锁(X)、共享锁(S)、U锁2段锁协议:分两个阶段,第一阶段只能申请锁;第二阶...
分类:
数据库 时间:
2014-09-01 00:18:52
阅读次数:
205
方法一:(用互斥锁实现)1、ARC中单例模式的实现:1.1在.m中保留一个全局的static的实例static id _instance;1.2重写allocWithZone:方法,在这里创建唯一的实例(注意线程安全)+ (id)allocWithZone:(struct_NSZone*)zone{...
分类:
其他好文 时间:
2014-08-28 22:30:56
阅读次数:
361
引言 条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待条件变量的条件成立而挂起(此时不再占用cpu);另一个线程使条件成立(给出条件成立信号)。为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起。 函数原型 1. 定义条件变量 #include /* 定义两个...
分类:
编程语言 时间:
2014-08-26 22:47:16
阅读次数:
343
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie
1.文件上锁文件系统操作,比较耗时
2.线程上锁,不仅适用于同一进程内各线程之间的上锁,也适用于不同进程之间的上锁。
3.在不同进程之间使用线程上锁要求:
1)互斥锁变量必须存放在由所有进程共享的内存区中
2)必须告知线程函数库这是在不同进程之间共享的互斥锁
/*...
分类:
编程语言 时间:
2014-08-26 13:47:16
阅读次数:
238
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie
1.预先创建一个线程池,并让每个线程各自调用 accept
2.用互斥锁取代让每个线程都阻塞在 accept 调用之中的做法
//用于维护关于每个线程基于信息的 Thread 结构
typedef struct {
pthread_t thread_tid; ...
分类:
编程语言 时间:
2014-08-26 13:46:16
阅读次数:
321
互斥锁、信号量、自旋锁http://www.cnblogs.com/biyeymyhjob/archive/2012/07/21/2602015.htmllinux用户空间机制:1. 互斥量 pthread互斥接口,确保同一时间只有一个线程访问数据 本质是锁 pthread_mutex_t ...
分类:
系统相关 时间:
2014-08-22 19:40:19
阅读次数:
352
众所周知,多线程编程很容易遇上诸如丢失更新、脏读、死锁等烦人的线程冲突问题。多线程的问题一旦发生便很难定位和解决,所以要在编程的初始阶段就要注意避免多线程程序常见的错误。下面总结一些个人在c++多线程编程中遇上的问题。
1、类中的数据成员要尽可能设置读写专用函数,并且在函数中用互斥锁进行并发保护。
解决线程冲突的最基本方法,不用多解释。
2、类中的成员函数要尽量避免在没有保护的情况下对某个成...
分类:
编程语言 时间:
2014-08-21 21:17:25
阅读次数:
602
互斥锁通信机制
基本原理
互斥锁以排他方式防止共享数据被并发访问,互斥锁是一个二元变量,状态为开(0)和关(1),将某个共享资源与某个互斥锁逻辑上绑定之后,对该资源的访问操作如下:
(1)在访问该资源之前需要首先申请互斥锁,如果锁处于开状态,则申请得到锁并立即上锁(关),防止其他进程访问资源,如果锁处于关,则默认阻塞等待.
(2)只有锁定该互斥锁的进程才能释放该互斥锁.
互斥量类型声...
分类:
编程语言 时间:
2014-08-15 10:47:48
阅读次数:
304