<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>LINUXQQ &#187; Linux下操作信号量概述</title>
	<atom:link href="http://www.linuxqq.net/archives/tag/linux%e4%b8%8b%e6%93%8d%e4%bd%9c%e4%bf%a1%e5%8f%b7%e9%87%8f%e6%a6%82%e8%bf%b0/feed" rel="self" type="application/rss+xml" />
	<link>http://www.linuxqq.net</link>
	<description>LINUXQQ狂人时代</description>
	<lastBuildDate>Tue, 10 Jan 2012 04:39:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Linux下操作信号量概述</title>
		<link>http://www.linuxqq.net/archives/108.html</link>
		<comments>http://www.linuxqq.net/archives/108.html#comments</comments>
		<pubDate>Fri, 11 Sep 2009 03:48:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[Linux下操作信号量概述]]></category>

		<guid isPermaLink="false">http://www.linuxqq.net/?p=108</guid>
		<description><![CDATA[Linux下操作信号量概述 ftok函数是根据pathname和proj来创建一个关键字。 semget创建一个信号量。成功时返回信号的ID，key是一个关键字，可以是用ftok创建的也可以是IPC_PRIVATE表明由系统选用一个关键字。nsems表明我们创建的信号个数。semflg是创建的权限标志，和我们创建一个文件的标志相同。 semctl对信号量进行一系列的控制。semid是要操作的信号标志，semnum是信号的个数，cmd是操作的命令。经常用的两个值是:SETVAL(设置信号量的值)和IPC_RMID(删除信号灯)。arg是一个给cmd的参数。 semop是对信号进行操作的函数。semid是信号标志，spos是一个操作数组表明要进行什么操作，nspos表明数组的个数。如果sem_op大于0，那么操作将sem_op加入到信号量的值中，并唤醒等待信号增加的进程。如果为0，当信号量的值是0的时候，函数返回，否则阻塞直到信号量的值为0。如果小于0，函数判断信号量的值加上这个负值。如果结果为0唤醒等待信号量为0的进程，如果小与0函数阻塞。如果大于0，那么从信号量里面减去这个值并返回]]></description>
		<wfw:commentRss>http://www.linuxqq.net/archives/108.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

