<?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>风过明岚,雁过留痕 &#187; srand</title>
	<atom:link href="http://blog.kingse.org/tag/srand/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.kingse.org</link>
	<description>杂七杂八,想啥说啥</description>
	<lastBuildDate>Fri, 07 Oct 2011 03:31:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>srand,rand函数的使用注意事项</title>
		<link>http://blog.kingse.org/2010/01/291.html</link>
		<comments>http://blog.kingse.org/2010/01/291.html#comments</comments>
		<pubDate>Tue, 12 Jan 2010 02:54:18 +0000</pubDate>
		<dc:creator>coolspace</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[rand]]></category>
		<category><![CDATA[srand]]></category>

		<guid isPermaLink="false">http://blog.kingse.org/?p=291</guid>
		<description><![CDATA[在实际应用中，我们经常需要产生随机数，这些随机数的应用范围也是十分广泛的。但计算机只能依据一定算法产生伪随机数序列。c语言中最常用的产生伪随机数序列的函数是srand和rand srand，rand函数在实现上利用TlsGetValue等一系列函数进行数据的存取，也就意味着srand，rand存取的数据是和线程相关的。 根据我使用经验，总结出以下几点注意事项： 1、rand函数初次使用之前必须调用srand函数初始化，才能保证产生不同的随机数序列。 2、在多线程程序中，如果每个线程都需要调用rand，那么必须在每个线程里单独进行初始化。 3、单进程的srand初始化，可以简单的采用time(0)即可，但是多线程中，如果每个线程的开始时间近乎相同，那么就不可采用time(0)进行初始化，因为time(0)实际精度只有s级，会导致每个线程产生相同的随机数序列，因此需要用每个线程各不相同的一个数去初始化srand，例如threadid等等]]></description>
		<wfw:commentRss>http://blog.kingse.org/2010/01/291.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

