码迷,mamicode.com
首页 >  
搜索关键字:semaphore    ( 808个结果
RT-thread内核之信号量
一、信号量控制块:在include/rtdef.h中#ifdef RT_USING_SEMAPHORE/** * Semaphore structure */struct rt_semaphore{ struct rt_ipc_object parent; ...
分类:其他好文   时间:2015-03-04 18:53:48    阅读次数:316
Semaphore built from mutex in C++11
#include #include using namespace std;class semaphore{private: mutex mtx; condition_variable cv; int count;public: semaphore(int count_ = ...
分类:编程语言   时间:2015-03-04 14:17:27    阅读次数:145
PV操作的简单理解
PV操作的简单理解 一、什么是PV操作       在操作系统中,进程是一个很要花时间理解的东西,进程通常分为就绪、运行和阻 塞三个工作状态。三种状态在某些条件下可以转换,三者之间的转换关系如下:                 进程三个状态之间的转换就是靠PV操作来控制的。PV操作主要就是P操作、V操作 和信号量。其中信号量起到了至关重要的作用。 1...
分类:其他好文   时间:2015-03-03 13:43:55    阅读次数:161
IPC: 信号量
信号量 信号量:在多线程环境下,用来保证多个关键代码不被并发调用,一次只能有个一个线程访问关键代码。 信号量有两组函数接口: 1.posix信号量 2.system v信号量 信号量的两种形式: 1.二进制信号量:用来保护一段代码,使其每次只能被一个执行线程运行,初始值一般为1. 2.计数信号量:有限数目的线程执行一段指定的代码,初始值一般大于1....
分类:其他好文   时间:2015-02-28 21:45:43    阅读次数:290
Java信号量Semaphore
SemaphoreSemaphore分为单值和多值两种,前者只能被一个线程获得,后者可以被若干个线程获得。Semaphore实现的功能就类似厕所有5个坑,假如有10个人要上厕所,那么同时只能有多少个人去上厕所呢?同时只能有5个人能够占用,当5个人中 的任何一个人让开后,其中等待的另外5个人中又有一个...
分类:编程语言   时间:2015-02-26 09:53:03    阅读次数:137
信号量的操作及原理
信号量的操作及原理1.OSSemCreate创建信号量semaphore 在使用信号量之前,要先用OSSemCreate创建一个信号量,并通过返回的合法事件结构体指针使用信号量。OS_EVENT *OSSemCreate(INT16U cnt){#if OS_CRITICAL_METHOD ==.....
分类:其他好文   时间:2015-02-25 00:42:20    阅读次数:420
perl 多线程及信号控制
#!/usr/bin/perl use strict; use warnings; use threads; use Thread::Semaphore; my $max_thread = 5; my $semaphore = Thread::Semaphore->new($max_thread); sub TestFun { $semaphore->up(); } for(my $ind...
分类:编程语言   时间:2015-02-04 13:03:43    阅读次数:344
dispatch_semaphore使用方法
第一、引入 dispatch_queue_t queue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);     NSMutableArray *arr=[NSMutableArray new];     for (int i=0; i         dispatch_async(queue, ^{[arr a...
分类:其他好文   时间:2015-02-02 16:02:41    阅读次数:163
数据库并发事务控制四:postgresql数据库的锁机制
并发控制是DBMS的关键技术,并发控制技术也称为同步机制,其实现通常依赖于底层的并发控制机制。操作系统提供了多种同步对象,如事件 Event、互斥锁 Mutex和条件变量 Cond、信号量Semaphore、读写锁 RWLock、自旋锁 Spinlock等。数据库管理系统自己实现封锁主要是考虑:     锁语义加强:OS只提供排它锁。为了提高并发度,数据库至少需要共享锁和排它锁,即读锁和写锁;...
分类:数据库   时间:2015-01-30 10:50:25    阅读次数:276
多线程并发常用类:condition,semaphore,CyclicBarrier,countdownlatch,exchanger使用整理
condition 类: 作为一个示例,假定有一个绑定的缓冲区,它支持 put 和 take 方法。如果试图在空的缓冲区上执行 take 操作,则在某一个项变得可用之前,线程将一直阻塞;如果试图在满的缓冲区上执行 put 操作,则在有空间变得可用之前,线程将一直阻塞。我们喜欢在单独的等待 set 中保存 put 线程和 take 线程,这样就可以在缓冲区中的项或空间变得可用时利用最佳规划...
分类:编程语言   时间:2015-01-27 09:25:18    阅读次数:149
808条   上一页 1 ... 68 69 70 71 72 ... 81 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!