
进程与线程
Maria21
这个作者很懒,什么都没留下…
展开
-
信号量与PV操作
在计算机操作系统中,PV操作是进程管理中的难点。首先应弄清PV操作的含义:PV操作由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体定义如下: P(S):①将信号量S的值减1,即S=S-1; ②如果S³0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。 V(S):①将信号量S的值加1,即S=S+1;转载 2014-11-04 11:10:57 · 627 阅读 · 0 评论 -
Linux多线程——使用信号量同步线程
一、什么是信号量线程的信号量与进程间通信中使用的信号量的概念是一样,它是一种特殊的变量,它可以被增加或减少,但对其的关键访问被保证是原子操作。如果一个程序中有多个线程试图改变一个信号量的值,系统将保证所有的操作都将依次进行。而只有0和1两种取值的信号量叫做二进制信号量,在这里将重点介绍。而信号量一般常用于保护一段代码,使其每次只被一个执行线程运行。我们可以使用二进制信号转载 2014-11-04 20:04:48 · 420 阅读 · 0 评论 -
C语言多线程的相关函数和实例
线程相关操作 一 pthread_t pthread_t在头文件/usr/include/bits/pthreadtypes.h中定义: typedef unsigned long int pthread_t; 它是一个线程的标识符。 二 pthread_create 函数pthread_create用来转载 2014-11-04 20:59:25 · 1231 阅读 · 0 评论 -
Windows 7系统下搭建MPI(并行计算)环境
Windows系统下搭建MPI环境MPI的全称是Message Passing Interface即标准消息传递界面,可以用于并行计算。MPI的具体实现一般采用MPICH。下面介绍如何在Windows XP系统下VC6中搭建MPI环境来编写MPI程序。一.准备工作1.1 安装MPI的SDK——MPICH2。mpich2-1.4.1p1-win-ia32安装程序的转载 2014-12-19 14:36:05 · 703 阅读 · 0 评论 -
CAS原子操作实现无锁及性能分析
Author:Echo Chen(陈斌)Email:chenb19870707@gmail.comBlog:Blog.youkuaiyun.com/chen19870707Date:Nov 13th, 2014最近在研究nginx的自旋锁的时候,又见到了GCC CAS原子操作,于是决定动手分析下CAS实现的无锁到底性能如何,网上关于CAS实现无锁的文章很多,但少转载 2014-12-05 11:10:25 · 557 阅读 · 0 评论 -
进程同步机制及优缺点
1.信号量机制:一个信号量只能置一次初值,以后只能对之进行p操作或v操作。由此也可以看到,信号量机制必须有公共内存,不能用于分布式操作系统,这是它最大的弱点。2.自旋锁:旋锁是为了保护共享资源提出的一种锁机制。调用者申请的资源如果被占用,即自旋锁被已经被别的执行单元保持,则调用者一直循环在那里看是否该自旋锁的保持着已经释放了锁自旋锁是一种比较低级的保护数据结构和代码片段的原转载 2015-03-27 10:48:37 · 649 阅读 · 0 评论 -
IPC 三种通信机制
最近看了,IPC三种通信机制,OK,小写自己的收获吧。IPC三种通信机制是指:信号量、共享内存、消息队列,一开始看得时候感觉有点吃力,当我模仿书上的程序写了写代码之后,就慢慢的理解了。信号量:通过操作系统中的PV操作来实现;共享内存:申请一块内存,进程A往共享内存中写,其他的进程就可以通过读出共享内存中的内容来获取进程A所传送的信息;消息队列转载 2015-03-16 14:39:11 · 906 阅读 · 0 评论