码迷,mamicode.com
首页 >  
搜索关键字:信号量    ( 1788个结果
hadoop中使用的Unsafe.java
今天查看hadoop源代码, 发现有个Unsafe.java稍微总结下优势 1 减少线程调度开销, Unsafe.java 通过采用非堵塞原子方式来减少线程调度开销 2 传统线程通信通过wait,notify方法实现(会有信号量的堵塞队列),而Unsafe使用操作系统调度命令park,unpark,...
分类:编程语言   时间:2014-07-16 20:37:03    阅读次数:273
Cocoa多线程编程之block与semaphore(信号量)
首先大家要了解 dispatch_queue 的运作机制及线程同步 我们可以将许多 blocks 用 dispatch_async 函数提交到 dispatch_queue ,如果类型是DISPATCH_QUEUE_SERIAL (串行),那么这些 block 是按照 FIFO (先入先出)的规则调度的,也就是说,先加入的先执行,后加入的一定后执行,但在如果类型是DISPATCH_QUEUE_C...
分类:编程语言   时间:2014-07-13 16:56:40    阅读次数:268
信号量机制中的DOWN操作与UP操作详解
DOWN操作:linux内核中,对信号量的DOWN操作有如下几种: void down(struct semaphore *sem); //不可中断 int down_interruptible(struct semaphore *sem);//可中断 int down_killable(struct semaphore *sem);//睡眠的进程可以因为受到致命信号而被唤醒,中断获取信号量...
分类:其他好文   时间:2014-07-13 16:21:36    阅读次数:501
基于windows api实现的共享锁/独占锁
众所周知,windows平台上实现线程同步,或者说资源的加锁与解锁的方法有内核事件、临界区、互斥量、信号量,甚至interlocked系列函数等多种手段。但是在日常的编程中,我们使用这些手段对 “多个线程同时对同一个资源进行读写” 的时候,在读写之前先要对资源假锁,读写完之后要对资源解锁。 设想这样一种情况,有一个ftp服务器,每天有很频繁的对这个ftp服务的文件进行下载,但是几乎好几天才会对...
分类:Windows程序   时间:2014-07-12 19:27:34    阅读次数:397
在VC6.0中多线程编程示例(带同步信号量)
直接上代码:#include //必要的头文件,使用Windows API函数 #include int index = 0; int tickets = 100;//票数 HANDLE hMutex; //使用全局的互斥对象来保证对同一资源的互斥访问与操作这里是tickets //线程处理函数原型,形式可从MSDN中拷贝 //线程1 的入口函数 DWORD WINAPI Fun1Proc...
分类:编程语言   时间:2014-07-08 17:12:03    阅读次数:239
Nucleus PLUS任务调度
概述Nucleus Plus内核(Kernel)的主要目的是管理实时任务的竞争执行(共享CPU),为应用提供各种便利,高速响应外部事件。Nucleus Plus的系统结构如图1所看到的,能够看出线程控制是整个内核的核心,通过邮箱、队列、管道来实现任务之间的通信,通过信号量、事件组和信号实现任务间的同...
分类:其他好文   时间:2014-07-06 18:49:16    阅读次数:285
Linux高性能服务器编程——多进程编程
多进程编程 多进程编程包括如下内容: 复制进程影映像的fork系统调用和替换进程映像的exec系列系统调用。 僵尸进程以及如何避免僵尸进程 进程间通信(Inter-Process Communication,IPC)最简单的方式:管道 3种进程间通信方式:信号量,消息队列和共享内存 fork系统调用 #inclu...
分类:系统相关   时间:2014-07-06 08:09:00    阅读次数:329
C++多线程那些事
线程之间的关系一般有两种,一种是互斥,一种是同步,互斥可以表现为两个线程同时争夺同一个资源,同步可以表现为两个线程按一定次序完成一个任务(如A 完成任务的前半部分,紧接着需要线程B 完成线程的后半部分) 在C++中处理上面两种关系的常用方法是: 关键段、事件、互斥量、信号量。 注意C++开启新的线程一定使用_beginthreadex函数而不要使用CreateThread函数...
分类:编程语言   时间:2014-07-05 23:27:02    阅读次数:224
线程间通信机制posix匿名信号量
信号量分为两种 一种是简单的信号量,另一种是用于进程间通信的信号量集。...
分类:编程语言   时间:2014-07-03 16:32:04    阅读次数:1243
线程同步的几种方法的总结
线程同步的方式包括:互斥锁、读写锁、条件变量、信号量和令牌。互斥锁和读写锁:提供对临界资源的保护,当多线程试图访问临界资源时,都必须通过获取锁的方式来访问临界资源。(临界资源:是被多线程共享的资源)当读写线程获取锁的频率差别不大时,一般采用互斥锁,如果读线程访问临界资源的频率大于写线程,这个时候采用...
分类:编程语言   时间:2014-07-03 13:10:16    阅读次数:218
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!