Semaphore 信号量主要用于约束多个线程可同时获取的物理上的或者逻辑上的资源数。比如用在各种池的设计中。信号量用于管理这些资源的一个虚拟的管理凭据。线程在获取一个资源时,首先要获取一个资源的许可凭证。当线程用完之后将资源返回池中,并将许可凭证返回给信号量。例如:一个池的例子:class Poo...
分类:
编程语言 时间:
2015-04-12 14:48:49
阅读次数:
147
目录[-]综述信号量与互斥锁Completions 机制自旋锁其他的一些选择不加锁算法原子变量与位操作seqlock(顺序锁)读取-拷贝-更新(RCU)小结综述在上一篇介绍了linux驱动的调试方法,这一篇介绍一下在驱动编程中会遇到的并发和竟态以及如何处理并发和竞争。首先什么是并发与竟态呢?并发(c...
分类:
系统相关 时间:
2015-04-11 22:21:37
阅读次数:
307
在不停止程序的情况下,通过发送USR1或USR2等信号量,触发运行中程序的参数更新处理。当然还可以通过处理如kill等信号量,
让程序正确的处理退出操作。
做了个例子,效果如下。
可以看到通过发出kill -USR1 id号 让对应的程序参数发生了变更。
关于kill的参数值可以通过kill -l列出。 各个终端也提供了很多快捷键来支持特定信息的发送,如最...
分类:
其他好文 时间:
2015-04-11 17:53:13
阅读次数:
661
在上一篇介绍了linux驱动的调试方法,这一篇介绍一下在驱动编程中会遇到的并发和竟态以及如何处理并发和竞争。
首先什么是并发与竟态呢?并发(concurrency)指的是多个执行单元同时、并行被执行。而并发的执行单元对共享资源(硬件资源和软件上的全局、静态变量)的访问则容易导致竞态(race conditions)。可能导致并发和竟态的情况有:
SMP(Symmetric Multi-Pr...
分类:
系统相关 时间:
2015-04-11 14:55:06
阅读次数:
257
一、互斥锁简介POSIX线程同步方法有:POSIX信号量、互斥锁和条件变量。互斥锁可以用于保护关键代码段,以确保其独占式的访问。当进去关键代码段时,我们需要获得互斥锁并将其加锁,等价于二进制信号量的P操作,当离开关键代码段时,我们需要对其解锁,等价于二进制信号量中的V操作。互斥锁基础API:互斥锁属...
分类:
其他好文 时间:
2015-04-08 00:48:08
阅读次数:
181
之前的文章讨论了互斥量、条件变量、读写锁和自旋锁用于线程的同步,本文将首先讨论Barriers和信号量的使用,并给出了相应的代码和注意事项,相关代码也可在我的github上下载,然后对线程各种同步方法进行了比较。
Barriers
Barriers是一种不同于前面线程同步机制,它主要用于协调多个线程并行(parallel)共同完成某项任务。一个barrier对象可以使得每个...
分类:
编程语言 时间:
2015-04-02 22:40:38
阅读次数:
468
第一部分:知识备忘1、进程间通信方式本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类:消息传递(管道、FIFO、消息队列)同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量)共享内存(匿名的和具名的)远程过程调用(Solaris门和Sun RPC)但这些都不是本文的主题!我们要讨论的...
分类:
其他好文 时间:
2015-04-02 22:34:30
阅读次数:
234
Semaphore实现典型的信号量CountDownLatch在指定数量的事件发生前一直等待CyclicBarrier使一组线程在一个预定义的执行点等待Exchanger交换两个线程的数据1. Semaphore信号量(Semaphore),是在多线程环境下使用的一种设施, 它负责协调各个线程, 以...
分类:
编程语言 时间:
2015-04-02 22:25:53
阅读次数:
255
自己不太懂这一块,转发和大家一块分享!!!进程,由OS来管理,每个进程都有自己独立的内存空间,进程之间通讯主要是通过信号传递的方式来实现的,实现方式有多种,信号量,管道,事件等,任何一种方式的通讯效率都需要过内核,导致通讯效率比较低.由于是独立的内存空间,所以上下文切换的时候需要保存当先调用栈的信息...
分类:
编程语言 时间:
2015-03-31 22:00:33
阅读次数:
138
这篇文章将讲述别一种进程间通信的机制——信号量。注意请不要把它与之前所说的信号混淆起来,信号与信号量是不同的两种事物。有关信号的更多内容,可以阅读我的另一篇文章:Linux进程间通信——使用信号。下面就进入信号量的讲解。一、什么是信号量为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我...
分类:
其他好文 时间:
2015-03-31 21:51:46
阅读次数:
209