引子: 在取本地联系人列表的时候看到同事用的这么一段代码: dispatch_semaphore_t sema = dispatch_semaphore_create(0); ABAddressBookRequestAccessWithCompletion(addressBoo...
                            
                            
                                分类:
移动开发   时间:
2014-07-22 22:52:35   
                                阅读次数:
228
                             
                    
                        
                            
                            
                                二元信号量,多元信号量,互斥量,临界区。其它包括读写锁,条件变量。-1:二元信号量,适合与只能被一个线程独占访问的资源。当二元信号量处于非占用状态时,第一个试图获取该二元信号量的线程会获得该锁,并将二元信号量重置为占用状态,在未释放该锁前,其它所有试图获取该二元信号量的线程将会等待。-2:多元信号量...
                            
                            
                                分类:
编程语言   时间:
2014-07-19 14:17:46   
                                阅读次数:
219
                             
                    
                        
                            
                            
                                菜鸟偶遇信号量,擦出火花(只有不熟才会有火花)。于是上网搜资料和看《Unix环境高级编程》实现了几个小例题,高手请勿喷!这几位写得非常好啊:题目来源: http://www.it165.net/os/html/201312/7039.html信号量及其用法:http://www.cnblogs......
                            
                            
                                分类:
系统相关   时间:
2014-07-19 09:22:24   
                                阅读次数:
378
                             
                    
                        
                            
                            
                                一、进程同步与互斥的基本概念
1.基本概念
在多道程序系统中,由于进程,各进程之间有两种形式的制约关系:
   (1)间接相互制约– 源于资源共享 -互斥。
   (2)直接相互制约– 源于进程合作 -同步。
  进程同步:主要源于进程合作,为进程之间的直接制约关系。
  进程互斥:主要源于资源共享,是进程之间的间接制约关系。
  临界资源:一次只允许一个进程使用的资源称为临界资源,如打印机、公共变量等。
  临界区:在每个进程中,访问临界资源的那段程序称为临界区。
2.同步机制应遵循的准...
                            
                            
                                分类:
其他好文   时间:
2014-07-19 02:24:35   
                                阅读次数:
286
                             
                    
                        
                            
                            
                                如今最经常使用的进程间通信的方式有:信号,信号量,消息队列,共享内存。 所谓进程通信,就是不同进程之间进行一些"接触",这种接触有简单,也有复杂。机制不同,复杂度也不一样。通信是一个广义上的意义,不仅仅指传递一些massege。他们的用法是基本相同的,所以仅仅要掌握了一种的用法,然后记住其他的用.....
                            
                            
                                分类:
系统相关   时间:
2014-07-18 18:31:13   
                                阅读次数:
305
                             
                    
                        
                            
                            
                                Semaphore是一个计数的信号量。从概念上来说,信号量维持一组许可(permits)。acquire方法在必须的时候都会阻塞直到有一个许可可用,然后就会拿走这个许可。release方法添加一个许可,会有可能释放一个阻塞中的获取者(acquirer)。然而,Semaphore没有使用真实的许可对象,只是保持一个可用计数并且采取相应的行为。
信号量一般用于限制可以访问一些(物理上或者逻辑上)的资...
                            
                            
                                分类:
其他好文   时间:
2014-07-16 14:17:40   
                                阅读次数:
260
                             
                    
                        
                            
                            
                                主要用途:保护临界资源二值信号灯:最大为1计数信号灯:多进程可访问。减1操作。等待自动唤醒。信号量的集合#include#include#include创建/打开int semget(key_t key,int nsems,int semflg)key:键值,由ftok获得。nsems:指定打开或者...
                            
                            
                                分类:
系统相关   时间:
2014-07-16 12:44:25   
                                阅读次数:
256
                             
                    
                        
                            
                            
                                一、进程进程可以认为是程序执行时的一个实例.进程是系统进行资源分配的独立的实体,且每个进程拥有独立的地址空间.一个进程无法直接访问另一个进程的变量和数据结构,如果希望让一个进程访问另一个进程的资源,需要使用进程间通信,比如:管道,有名管道,信号,信号量,消息队列,套接字等.一个进程可以拥有多个线程,...
                            
                            
                                分类:
编程语言   时间:
2014-07-15 23:39:05   
                                阅读次数:
334
                             
                    
                        
                            
                            
                                阅读本篇之前推荐阅读以下姊妹篇:《秒杀多线程第四篇一个经典的多线程同步问题》《秒杀多线程第五篇经典线程同步关键段CS》《秒杀多线程第六篇经典线程同步事件Event》《秒杀多线程第七篇经典线程同步相互排斥量Mutex》前面介绍了关键段CS、事件Event、相互排斥量Mutex在经典线程同步问题中的使用...
                            
                            
                                分类:
编程语言   时间:
2014-07-15 08:39:59   
                                阅读次数:
276
                             
                    
                        
                            
                            
                                正在拜读《windows核心编程》,稍后总结。---------XiaoF先说说为何要实现此功能 1,利用文件映射对象,可以在同一电脑的不同进程之间共享数据块。 2,借助邮件槽和命名管道,在网络中的不同计算机上运行的进程相互发送消息。 3,互斥量。信号量。事件,允许不同进程中的线程做同步。如何实现,...
                            
                            
                                分类:
其他好文   时间:
2014-07-14 23:31:16   
                                阅读次数:
285