<?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; IT</title>
	<atom:link href="http://www.bcmgs.com/tag/it/feed" rel="self" type="application/rss+xml" />
	<link>http://www.bcmgs.com</link>
	<description>记录生活 ，分享故事！</description>
	<lastBuildDate>Tue, 08 Apr 2025 06:57:53 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.0</generator>
	<item>
		<title>SQL Server Lock:sp_getAppLock使用</title>
		<link>http://www.bcmgs.com/775</link>
		<comments>http://www.bcmgs.com/775#comments</comments>
		<pubDate>Wed, 27 Nov 2019 08:07:18 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[IT]]></category>

		<guid isPermaLink="false">http://www.bcmgs.com/?p=775</guid>
		<description><![CDATA[sp_getAppLock &#160;获取程序资源锁，简单的说就是调用此函数可以达到我们程序中.NET的lo<a href="http://www.bcmgs.com/775" class="read-more">Continue Reading</a>]]></description>
				<content:encoded><![CDATA[<p>
	sp_getAppLock &nbsp;获取程序资源锁，简单的说就是调用此函数可以达到我们程序中.NET的lock锁的作用.
</p>
<p>
	作用域是当前数据库下<br />
四个参数：<br />
@resource(必填):资源名称,类型nvarchar(255),必填,不区分大小写,如果超出255,则取前255个字符,作用域是当前数据库下.&nbsp;<br />
@lockMode(必填):锁的模式,类型nvarchar(32),必填,五个值供选择：<br />
Shared: 共享, 相当于锁里面的S,<br />
Update: 更新, 相当于锁里面的U<br />
IntentShared: 意向共享, 相当于锁里面的IS<br />
IntentExclusive: 意向更新, 相当于锁里面的IX<br />
Exclusive: 独占, 相当于锁里面的X, 其中我们经常使用的是Exclusive,表示独占上面这个@resource资源<br />
@lockOwner:锁的拥有者,2个值供参考：<br />
1. Transaction:默认值,如果使用这个,则必须显示声明事务,事务结束以后释放锁<br />
2. Session:会话, 会话结束以后释放锁<br />
@lockTimeout:锁的超时时间&nbsp;<span>（毫秒）。</span><span>&nbsp;</span><span>默认值与 @@LOCK_TIMEOUT返回的值相同。</span><span>&nbsp;</span><span>若要指示锁请求应返回的返回代码为-1，而不是在不能立即授予请求时等待锁，请指定0。</span><br />
@DBPrincipal:数据库角色
</p>
<p>
	我们一般都是使用@LockMode=Exclusive,@LoackMode=Transaction这种方式,所以下面是这种方式的测试.
</p>
<p>
	
</p>
<p>
	<span class="hljs-keyword">DECLARE</span><span> @RC </span><span class="hljs-built_in">INT</span><span>&nbsp;</span>
</p>
<p>
	<span class="hljs-keyword">Begin</span><span> tran&nbsp;</span>
</p>
<p>
	<span>Exec @RC =sp_getapplock @</span><span class="hljs-keyword">Resource</span><span>=</span><span class="hljs-string">'MyLock'</span><span>, @LockMode=</span><span class="hljs-string">'Exclusive'</span><span> , @LockOwner=</span><span class="hljs-string">'Transaction'</span><span>, @LockTimeout = </span><span class="hljs-number">15000</span><span>&nbsp;</span>
</p>
<p>
	<span class="hljs-keyword">SELECT</span><span> @@SPID [session_id], @RC [</span><span class="hljs-keyword">return</span><span> code], </span><span class="hljs-keyword">GETDATE</span><span>()&nbsp;</span>
</p>
<p>
	<span>waitfor delay </span><span class="hljs-string">'00:00:08'</span><span>&nbsp;</span>
</p>
<p>
	<span class="hljs-keyword">commit</span>
</p>
<p>
	
</p>
<p>
	
</p>
<p>
	回傳值的說明(MSDN)
</p>
<p>
	&gt;= 0 (成功) 或 &lt; 0 (失敗)
</p>
<p>
	0:同步授與鎖定成功。<br />
1:在等待其他不相容的鎖定釋出之後，授與鎖定成功。<br />
-1:鎖定要求逾時。<br />
-2:已取消鎖定要求。<br />
-3:已將鎖定要求選為死結犧牲者。<br />
-999:表示參數驗證或其他呼叫錯誤。<span></span>
</p>
<p>
	</p>
<a href="#" class="zilla-likes" id="zilla-likes-775" title="赞一个"><span class="zilla-likes-count">0</span> <span class="zilla-likes-postfix">还没人赞过...</span></a>]]></content:encoded>
			<wfw:commentRss>http://www.bcmgs.com/775/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SqlServer 查询死锁，杀死死锁进程</title>
		<link>http://www.bcmgs.com/758</link>
		<comments>http://www.bcmgs.com/758#comments</comments>
		<pubDate>Thu, 05 Apr 2018 07:55:11 +0000</pubDate>
		<dc:creator><![CDATA[]]></dc:creator>
				<category><![CDATA[IT]]></category>

		<guid isPermaLink="false">http://www.bcmgs.com/?p=758</guid>
		<description><![CDATA[-- 查询死锁 select &#160; &#160; &#160; &#160; request_sess<a href="http://www.bcmgs.com/758" class="read-more">Continue Reading</a>]]></description>
				<content:encoded><![CDATA[<p>-- 查询死锁<br />
select &nbsp; &nbsp;<br />
&nbsp; &nbsp; request_session_id spid, &nbsp;&nbsp;<br />
&nbsp; &nbsp; OBJECT_NAME(resource_associated_entity_id) tableName &nbsp; &nbsp;<br />
from &nbsp; &nbsp;<br />
&nbsp; &nbsp; sys.dm_tran_locks &nbsp;&nbsp;<br />
where &nbsp; &nbsp;<br />
&nbsp; &nbsp; resource_type='OBJECT'&nbsp;</p>
<p>
	
</p>
<p>
	
</p>
<p>&nbsp;--杀死死锁进程<br />
kill 354&nbsp;<br />
&nbsp;创造死锁条件</p>
<p>开两个查询窗口</p>
<p>BEGIN TRANSACTION--开始事务</p>
<p>update &nbsp; job &nbsp;set creator='00000' &nbsp;where id='001'</p>
<p>WAITFOR DELAY '02:00';&nbsp;<br />
select * from job where id='001'</p>
<a href="#" class="zilla-likes" id="zilla-likes-758" title="赞一个"><span class="zilla-likes-count">0</span> <span class="zilla-likes-postfix">还没人赞过...</span></a>]]></content:encoded>
			<wfw:commentRss>http://www.bcmgs.com/758/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Server 2008 清空删除日志文件 130G日志 10秒内变10M</title>
		<link>http://www.bcmgs.com/755</link>
		<comments>http://www.bcmgs.com/755#comments</comments>
		<pubDate>Tue, 12 Sep 2017 08:06:23 +0000</pubDate>
		<dc:creator><![CDATA[]]></dc:creator>
				<category><![CDATA[IT]]></category>

		<guid isPermaLink="false">http://www.bcmgs.com/?p=755</guid>
		<description><![CDATA[USE [master] GO ALTER DATABASE xiexin SET RECOVERY SIMP<a href="http://www.bcmgs.com/755" class="read-more">Continue Reading</a>]]></description>
				<content:encoded><![CDATA[<p>USE [master]<br />
GO<br />
ALTER DATABASE xiexin SET RECOVERY SIMPLE WITH NO_WAIT<br />
GO<br />
ALTER DATABASE xiexin SET RECOVERY SIMPLE --简单模式<br />
GO<br />
USE xiexin<br />
GO<br />
DBCC SHRINKFILE (N'qds113752504_db_log' , 11, TRUNCATEONLY)&nbsp;</p>
<p>GO</p>
<p>-- '这里的DNName_Log 如果不知道在sys.database_files里是什么名字的话，可以用以下注释的语句进行查询</p>
<p>--'USE DNName</p>
<p>--'GO</p>
<p>--'SELECT file_id, nameFROM sys.database_files;</p>
<p>--'GO<br />
USE [master]<br />
GO<br />
ALTER DATABASE xiexin SET RECOVERY FULL WITH NO_WAIT<br />
GO<br />
ALTER DATABASE xiexin SET RECOVERY FULL --还原为完全模式<br />
GO</p>
<a href="#" class="zilla-likes" id="zilla-likes-755" title="赞一个"><span class="zilla-likes-count">0</span> <span class="zilla-likes-postfix">还没人赞过...</span></a>]]></content:encoded>
			<wfw:commentRss>http://www.bcmgs.com/755/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQLSERVER取相同数据的第一行（ROW_NUMBER的使用）</title>
		<link>http://www.bcmgs.com/742</link>
		<comments>http://www.bcmgs.com/742#comments</comments>
		<pubDate>Tue, 13 Jun 2017 12:33:44 +0000</pubDate>
		<dc:creator><![CDATA[]]></dc:creator>
				<category><![CDATA[IT]]></category>

		<guid isPermaLink="false">http://www.bcmgs.com/?p=742</guid>
		<description><![CDATA[select *,ROW_NUMBER() OVER(PARTITION BY FItemID ORDER B<a href="http://www.bcmgs.com/742" class="read-more">Continue Reading</a>]]></description>
				<content:encoded><![CDATA[<p><span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13.92px;line-height:20.88px;background-color:#FFFFFF;">select *,ROW_NUMBER() OVER(PARTITION BY FItemID ORDER BY FOrderPrice) as num into #t1 from ICStockBillEntry where&nbsp;</span><a href="mailto:finterid=@interid">finterid=@interid</a><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13.92px;line-height:20.88px;background-color:#FFFFFF;">--&nbsp;select * into #t2 from #t1&nbsp; where num=1</span></p>
<a href="#" class="zilla-likes" id="zilla-likes-742" title="赞一个"><span class="zilla-likes-count">0</span> <span class="zilla-likes-postfix">还没人赞过...</span></a>]]></content:encoded>
			<wfw:commentRss>http://www.bcmgs.com/742/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQLSERVER-SQL监测语句</title>
		<link>http://www.bcmgs.com/739</link>
		<comments>http://www.bcmgs.com/739#comments</comments>
		<pubDate>Tue, 09 May 2017 10:14:29 +0000</pubDate>
		<dc:creator><![CDATA[]]></dc:creator>
				<category><![CDATA[IT]]></category>

		<guid isPermaLink="false">http://www.bcmgs.com/?p=739</guid>
		<description><![CDATA[SELECT top 20 qs.creation_time ,last_execution_time ,to<a href="http://www.bcmgs.com/739" class="read-more">Continue Reading</a>]]></description>
				<content:encoded><![CDATA[<p><span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">SELECT top 20 qs.creation_time</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">,last_execution_time</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">,total_physical_reads</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">,total_logical_reads</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">,total_logical_writes,DB_NAME(dbid) dbname</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">, execution_count</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">--, total_worker_time</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">,last_worker_time</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">--,substring(convert(char(23),DATEADD(ms,total_worker_time/1000,0),121),12,23) total_worker_time</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">--, total_elapsed_time</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">,last_elapsed_time</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">,substring(convert(char(23),DATEADD(ms,total_elapsed_time/1000,0),121),12,23) total_elapsed_time</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">--, total_elapsed_time / execution_count avg_elapsed_time</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">,substring(convert(char(23),DATEADD(ms,(total_elapsed_time / execution_count)/1000,0),121),12,23) avg_elapsed_time</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">,SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">((CASE statement_end_offset</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">WHEN -1 THEN DATALENGTH(st.text)</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">ELSE qs.statement_end_offset END</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">- qs.statement_start_offset)/2) + 1) AS statement_text</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">FROM sys.dm_exec_query_stats AS qs</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">--ORDER BY execution_count desc 计划执行总次数</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">--ORDER BY total_elapsed_time --计划执行总时长</span><br />
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:19.5px;background-color:#FEFEF2;">order by last_worker_time desc;--最近一次执行cpu 占用时长</span></p>
<a href="#" class="zilla-likes" id="zilla-likes-739" title="赞一个"><span class="zilla-likes-count">0</span> <span class="zilla-likes-postfix">还没人赞过...</span></a>]]></content:encoded>
			<wfw:commentRss>http://www.bcmgs.com/739/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Win2008 IIS7日期时间格式更改最简便方法</title>
		<link>http://www.bcmgs.com/715</link>
		<comments>http://www.bcmgs.com/715#comments</comments>
		<pubDate>Thu, 08 Sep 2016 07:57:50 +0000</pubDate>
		<dc:creator><![CDATA[]]></dc:creator>
				<category><![CDATA[IT]]></category>

		<guid isPermaLink="false">http://www.bcmgs.com/?p=715</guid>
		<description><![CDATA[windows2008 这么高级的系统不可能改个系统的日期时间显示格式还要进注册表啊。于是有baidu，goo<a href="http://www.bcmgs.com/715" class="read-more">Continue Reading</a>]]></description>
				<content:encoded><![CDATA[<p><span style="color:#323E32;font-family:simsun;font-size:16px;line-height:21px;">windows2008 这么高级的系统不可能改个系统的日期时间显示格式还要进注册表啊。于是有baidu，google了下终于发现了，原来还有不需要注册表的更简便方法。</span></p>
<p><span style="line-height:21px;color:#323E32;font-family:simsun;font-size:16px;"><span style="font-size:16px;">windows2008默认时间格式是2012/6/10，这和我们程序中的一些功能产生了冲突，我们一般使用2012-6-10这种格式。根据以往经验，在控制面板－区域和语言选项中，把时间格式设置为yyyy-M-d，但是发现没有效果，重启后还是一样</span></span><span style="color:#323E32;font-family:simsun;font-size:16px;line-height:21px;">。</span></p>
<p><span style="color:#323E32;font-family:simsun;font-size:16px;line-height:21px;">时间也是类似，英文系统上默认是h:mm:ss tt之类的显示格式，也就是23:30:10 P.M.，就是这个AM，PM也会让程序出错，光在控制面板改日期显示格式只是对当前用户起作用，并不能修改系统显示设置。</span></p>
<p><span style="line-height:21px;color:#323E32;font-family:simsun;font-size:14px;background-color:#9CAEC1;"><span><span style="font-size:16px;">改注册表的方式是网上见得最多的，但是实际上在控制面板上还有更简单的方法。</span><br />
<span style="font-size:16px;">在区域和语言选项的设置面板的“管理”标签页面上有个“复制到保留账户”按钮，点开后可以设置将当前设置复制到系统账户（本地系统、本地服务、网络服务）。复制后重启服务器发现OK了。</span></span></span></p>
<a href="#" class="zilla-likes" id="zilla-likes-715" title="赞一个"><span class="zilla-likes-count">0</span> <span class="zilla-likes-postfix">还没人赞过...</span></a>]]></content:encoded>
			<wfw:commentRss>http://www.bcmgs.com/715/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何对web.config进行加密和解密</title>
		<link>http://www.bcmgs.com/how-to-encrypt-and-decrypt-the-web-config</link>
		<comments>http://www.bcmgs.com/how-to-encrypt-and-decrypt-the-web-config#comments</comments>
		<pubDate>Mon, 29 Aug 2016 07:43:14 +0000</pubDate>
		<dc:creator><![CDATA[]]></dc:creator>
				<category><![CDATA[IT]]></category>

		<guid isPermaLink="false">http://www.bcmgs.com/?p=711</guid>
		<description><![CDATA[在WEB网站开发过程中，如果我们将数据库连接字符串封装到.DLL文件中，将会给数据库和程序的迁移带来麻烦，因为<a href="http://www.bcmgs.com/how-to-encrypt-and-decrypt-the-web-config" class="read-more">Continue Reading</a>]]></description>
				<content:encoded><![CDATA[<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	<span style="font-size:small;">在WEB网站开发过程中，如果我们将数据库连接字符串封装到.DLL文件中，将会给数据库和程序的迁移带来麻烦，因为万一服务器地址或者数据库发生变更，那么我们就不得不修改源程序并重新将其编译。更好的解决方法是将数据库连接字符串写入到web.config配置文件中，可问题是将连接字符串写入到web.config文件中之后，任何人都能打开看到所连接的数据库名和密码，又会带来安全隐患，因此为了保证数据库的安全性，我们可以通过使用微软IDE自带的命令aspnet_regiis.exe将配置文件web.config中指定的标签进行加密，如果以后想查看加密后的连接字符串，我们还可以使用aspnet_regiis.exe将加密后的字符串进行解密。</span>
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	<span style="font-size:small;"><br />
</span>
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	<span style="font-size:small;"><strong>1.&nbsp;&nbsp;&nbsp; 加密通用语法</strong>&nbsp;<br />
&nbsp; 加密一个特定网站的web.config文件的通用形式<br />
&nbsp; aspnet_regiis.exe -pef secion physical_directory -prov provider<br />
&nbsp; 或<br />
&nbsp; aspnet_regiis.exe -pe secion -app virtual_directory -prov provider<br />
&nbsp; 其中，各个参数的含义如下：<br />
</span>
</p>
<ul style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
<li>
		<span style="font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp; section表示要加密的配置节</span>
	</li>
</ul>
<ul style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
<li>
		<span style="font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp; physical_directory用于指定站点的物理路径。</span>
	</li>
</ul>
<ul style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
<li>
		<span style="font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp; virtual_directory用户指定虚拟路径。</span>
	</li>
</ul>
<ul style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
<li>
		<span style="font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp; provider指定加密提供程序。</span>
	</li>
</ul>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	<span style="font-size:small;">&nbsp;&nbsp;&nbsp; 加密一个特定站点的连接字符串就是：<br />
&nbsp;&nbsp;&nbsp; aspnet_regiis.exe -pef "connectionStrings" "你的web项目路径" -prov "DataProtectionConfigurationProvider"<br />
&nbsp;&nbsp;&nbsp; 其中DataProctionConfiguartionProvider是Windows数据保护API（DPAPI）提供程序，它使用Windows内置的密码学技术来加解密配置节。默认情况下，这个提供程序使用本机的密钥。</span>
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	<span style="font-size:small;"><br />
<strong>2.&nbsp;&nbsp;&nbsp; 加密方法</strong></span>
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	&nbsp;
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	<span style="font-size:small;"><strong>&nbsp;&nbsp;</strong>运行Visual Studio 2008命令提示</span>
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	<span style="font-size:small;"><br />
</span>
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;text-align:center;background-color:#FFFFFF;">
	<span style="font-size:small;"><img src="http://hi.csdn.net/attachment/201106/5/0_1307286116zIAr.gif" alt="" /></span>
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	<span style="font-size:small;">&nbsp;&nbsp;&nbsp;</span>
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	<span style="font-size:small;">&nbsp; 加密后的结果<br />
</span>
</p>
<div class="dp-highlighter bg_xhtml" style="font-family:Consolas, 'Courier New', Courier, mono, serif;margin:18px 0px !important;background-color:#E7E5DC;">
<div class="bar">
<div class="tools" style="padding:3px 8px 10px 10px;font-size:9px;font-family:Verdana, Geneva, Arial, Helvetica, sans-serif;color:silver;background-color:#F8F8F8;">
			<b>[xhtml]</b>&nbsp;<a href="http://blog.csdn.net/jf_jifei/article/details/6527390#" class="ViewSource">view plain</a><span>&nbsp;<a href="http://blog.csdn.net/jf_jifei/article/details/6527390#" class="CopyToClipboard">copy</a></p>
<div>
			</div>
<p></span><span></span>
		</div>
</p></div>
<ol class="dp-xml" style="color:#5C5C5C;background-color:#FFFFFF;">
<li class="alt" style="color:inherit;">
			&nbsp;&nbsp;&lt;connectionStrings&nbsp;configProtectionProvider="DataProtectionConfigurationProvider"&gt;&nbsp;&nbsp;
		</li>
<li class="" style="background-color:#F8F8F8;">
			&lt;EncryptedData&gt;&nbsp;&nbsp;
		</li>
<li class="alt" style="color:inherit;">
			&nbsp;&lt;CipherData&gt;&nbsp;&nbsp;&nbsp;&nbsp;&lt;CipherValue&gt;AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAy1WyvzomB0WAlqYo+ogiigQAAAACAAAAAAADZgAAqAAAABAAAADbDjp+bAce//lsg/so66+8AAAAAASAAACgAAAAEAAAANlF3b73Kdupv/cAf4a9nPUwAQAAoTvrHdAjNjaJFEfiG7pD6sG8GMNJKGpnd4JLchu7W9XhOuPgG4C/LD9H9WQ9uF3t/0MoMI9tbrWdFJ1Yu5/e3PAV4RCbCvDlPD0VC7hxtDMqfRjQ+1OhTdk2woiSNpx0TzXwZE25o4vlXq/aYri1Wmlo2zyRqSkg0hQFQbObCf7lrgWEUjsv+pEOS5OVXcgNhFipVMy5iQ8sH5fNHmGg8gu5JlZQaOqYFG8ci7MGOebcQzR67krJXRBrs26lZtAj8lzf2bK+QcSqtU7Rt4C33JbLqisPL9xhfoUl9GvGTu5VS1S1H5VtErTeYXxnL7PTIr3cNjIbDMjI48LJfoOgtymT35KUdK3J0DxB68DqPaeK5QSEC/L0+6bizStRZ7BDnOngV/XfiVJnbSNYXX5IShQAAACuGn8QGUuQ4TOzkKcc891SV/CVDQ==&lt;/CipherValue&gt;&nbsp;&nbsp;
		</li>
<li class="" style="background-color:#F8F8F8;">
			&nbsp;&lt;/CipherData&gt;&nbsp;&nbsp;
		</li>
<li class="alt" style="color:inherit;">
			&lt;/EncryptedData&gt;&nbsp;&nbsp;
		</li>
<li class="" style="background-color:#F8F8F8;">
			lt;/connectionStrings&gt;&nbsp;&nbsp;
		</li>
</ol>
</div>
<p>
<strong>3.&nbsp;&nbsp;&nbsp; 解密</strong>&nbsp;<br />
&nbsp;&nbsp; 解密该连接字符串也很简单<br />
&nbsp;&nbsp; aspnet_regiis.exe -pdf "connectionStrings" '你的web项目路径"</p>
<p style="color:#333333;font-family:Arial;font-size:14px;text-align:center;background-color:#FFFFFF;">
	<span style="font-size:small;"><img src="http://hi.csdn.net/attachment/201106/5/0_13072861677wtw.gif" alt="" /></span>
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	<span style="font-size:small;">&nbsp;&nbsp; 解密后的结果：<br />
</span>
</p>
<div class="dp-highlighter bg_xhtml" style="font-family:Consolas, 'Courier New', Courier, mono, serif;margin:18px 0px !important;background-color:#E7E5DC;">
<div class="bar">
<div class="tools" style="padding:3px 8px 10px 10px;font-size:9px;font-family:Verdana, Geneva, Arial, Helvetica, sans-serif;color:silver;background-color:#F8F8F8;">
			<b>[xhtml]</b>&nbsp;<a href="http://blog.csdn.net/jf_jifei/article/details/6527390#" class="ViewSource">view plain</a><span>&nbsp;<a href="http://blog.csdn.net/jf_jifei/article/details/6527390#" class="CopyToClipboard">copy</a></p>
<div>
			</div>
<p></span><span></span>
		</div>
</p></div>
<ol class="dp-xml" style="color:#5C5C5C;background-color:#FFFFFF;">
<li class="alt" style="color:inherit;">
			&lt;connectionStrings&gt;&nbsp;&nbsp;
		</li>
<li class="" style="background-color:#F8F8F8;">
			&nbsp;&nbsp;&nbsp;&nbsp;&lt;add&nbsp;name="Sql"&nbsp;connectionString="Data&nbsp;Source=.;Initial&nbsp;Catalog=MySchool;Integrated&nbsp;Security=True"&nbsp;/&gt;&nbsp;&nbsp;
		</li>
<li class="alt" style="color:inherit;">
			&lt;/connectionStrings&gt;&nbsp;&nbsp;
		</li>
</ol>
</div>
<p>
<strong><br />
4.&nbsp;&nbsp;&nbsp; 后台代码读取配置文件web.config中数据库连接字符串的方法：</strong>&nbsp;</p>
<div class="dp-highlighter bg_c-sharp" style="font-family:Consolas, 'Courier New', Courier, mono, serif;margin:18px 0px !important;background-color:#E7E5DC;">
<div class="bar">
<div class="tools" style="padding:3px 8px 10px 10px;font-size:9px;font-family:Verdana, Geneva, Arial, Helvetica, sans-serif;color:silver;background-color:#F8F8F8;">
			<b>[c-sharp]</b>&nbsp;<a href="http://blog.csdn.net/jf_jifei/article/details/6527390#" class="ViewSource">view plain</a><span>&nbsp;<a href="http://blog.csdn.net/jf_jifei/article/details/6527390#" class="CopyToClipboard">copy</a></p>
<div>
			</div>
<p></span><span></span>
		</div>
</p></div>
<ol class="dp-c" style="color:#5C5C5C;background-color:#FFFFFF;">
<li class="alt" style="color:inherit;">
			using&nbsp;System.Configuation;&nbsp;&nbsp;
		</li>
<li class="" style="background-color:#F8F8F8;">
			…&nbsp;&nbsp;
		</li>
<li class="alt" style="color:inherit;">
			protected&nbsp;void&nbsp;Page_Load(object&nbsp;sender,&nbsp;EventArgs&nbsp;e)&nbsp;&nbsp;
		</li>
<li class="" style="background-color:#F8F8F8;">
			{&nbsp;&nbsp;
		</li>
<li class="alt" style="color:inherit;">
			&nbsp;&nbsp;&nbsp;&nbsp;lblMessage.Text&nbsp;=&nbsp;ConfigurationManager.ConnectionStrings["Sql"].ToString();&nbsp;&nbsp;
		</li>
<li class="" style="background-color:#F8F8F8;">
			&nbsp;}&nbsp;&nbsp;
		</li>
<li class="alt" style="color:inherit;">
			…&nbsp;&nbsp;
		</li>
</ol>
</div>
<p>
&nbsp;&nbsp;&nbsp;<strong>运行效果图：</strong>&nbsp;</p>
<p style="color:#333333;font-family:Arial;font-size:14px;text-align:center;background-color:#FFFFFF;">
	<span style="font-size:small;"><img src="http://hi.csdn.net/attachment/201106/5/0_130728621593EX.gif" alt="" /></span>
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	<span style="font-size:small;"><br />
</span>
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	<span style="font-size:small;"><strong>5.&nbsp;&nbsp;&nbsp; 在连接字符串的加密和解密的过程中，需要注意一下几点。</strong>&nbsp;<br />
</span>
</p>
<ul style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
<li>
		<span style="font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp; 使用加密的连接字符串</span>
	</li>
</ul>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	<span style="font-size:small;">&nbsp;&nbsp;&nbsp; 使用加密的连接字符串不需要编码解密，ASP.NET会自动对加密内容进行解密。<br />
</span>
</p>
<ul style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
<li>
		<span style="font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp; 加密和解密在同一台计算机上使用</span>
	</li>
</ul>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	<span style="font-size:small;">&nbsp;&nbsp;&nbsp; 在加密过程中，使用了一个基于本机的密钥。这就意味着加密和解密必须在同一台计算机上进行，否则将不能解密。同时，在一台计算机上加密的配置，在另一台计算机上将不能正常使用。<br />
</span>
</p>
<ul style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
<li>
		<span style="font-size:small;">&nbsp;&nbsp;&nbsp;&nbsp; 中文路径问题</span>
	</li>
</ul>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	<span style="font-size:small;">&nbsp;&nbsp;&nbsp; 该命令对中文支持不是很好。如果站点的路径中有中文字符，也许不能正常加解密。</span></p>
<a href="#" class="zilla-likes" id="zilla-likes-711" title="赞一个"><span class="zilla-likes-count">0</span> <span class="zilla-likes-postfix">还没人赞过...</span></a>]]></content:encoded>
			<wfw:commentRss>http://www.bcmgs.com/how-to-encrypt-and-decrypt-the-web-config/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IIS HTTP重定向到HTTPS</title>
		<link>http://www.bcmgs.com/iis-redirect-http-to-https</link>
		<comments>http://www.bcmgs.com/iis-redirect-http-to-https#comments</comments>
		<pubDate>Fri, 26 Aug 2016 04:33:33 +0000</pubDate>
		<dc:creator><![CDATA[]]></dc:creator>
				<category><![CDATA[IT]]></category>

		<guid isPermaLink="false">http://www.bcmgs.com/?p=707</guid>
		<description><![CDATA[最近客户一个网站升级至HTTPS协议访问，但是为了用户输入，客户要求当用户输入的是HTTP协议时，能自动定向到<a href="http://www.bcmgs.com/iis-redirect-http-to-https" class="read-more">Continue Reading</a>]]></description>
				<content:encoded><![CDATA[<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	最近客户一个网站升级至HTTPS协议访问，但是为了用户输入，客户要求当用户输入的是HTTP协议时，能自动定向到HTTPS，类似百度网站，当你输入www.baidu.com并回车后，地址栏自动变成了https://www.baidu.com。
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	以前步骤简要介绍了如何实现该功能。
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	1）下载并安装Microsoft URL 重写模块
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
<p>https://www.microsoft.com/zh-CN/download/details.aspx?id=7435</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	备注：根据不同的系统，不同的语言选择。
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	我的机器是英文版的，所以以下截图基本都为英文。
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	2） 站点绑定以下两种协议：
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	<img src="http://img.blog.csdn.net/20150515122602434?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenl0aHk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	注意：默认的https端口号为443， 因为我本机这个端口已经被利用，所以此处以449演示。
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	3）站点的SSL设置，确保“Require SSL”未选中。
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	<img src="http://img.blog.csdn.net/20150515122748592?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenl0aHk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	3）如果是ASP.NET站点，则直接在Web.config文件中添加以下配置节，作为&lt;configuration&gt;的子元素放在文件末尾即可。
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	&lt;system.webServer&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;rewrite&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;rules&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;rule name="Redirect to https" stopProcessing="true"&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;match url="(.*)" /&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;conditions&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;add input="{HTTPS}" pattern="^OFF$" /&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;add input="{HTTPS_HOST}" pattern="^(localhost)" negate="true" /&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/conditions&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;action type="Redirect" url="<strong>https://{HTTP_HOST}:449/{R:1}</strong>" redirectType="SeeOther" /&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/rule&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/rules&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;/rewrite&gt;<br />
&nbsp; &nbsp; &lt;/system.webServer&gt;
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	注意：当你使用默认HTTPS端口时，上面的端口号449就不需要了，直接为<strong>https://{HTTP_HOST}/{R:1}</strong>
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	上面的配置也可以直接在IIS中的URL Write中手动添加，完成后大致如下：
</p>
<p style="color:#333333;font-family:Arial;font-size:14px;background-color:#FFFFFF;">
	<img src="http://img.blog.csdn.net/20150515123318748?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenl0aHk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><img src="http://img.blog.csdn.net/20150515123425067?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenl0aHk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></p>
<a href="#" class="zilla-likes" id="zilla-likes-707" title="赞一个"><span class="zilla-likes-count">0</span> <span class="zilla-likes-postfix">还没人赞过...</span></a>]]></content:encoded>
			<wfw:commentRss>http://www.bcmgs.com/iis-redirect-http-to-https/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>我是一个线程</title>
		<link>http://www.bcmgs.com/i-am-a-thread</link>
		<comments>http://www.bcmgs.com/i-am-a-thread#comments</comments>
		<pubDate>Wed, 27 Jul 2016 00:01:23 +0000</pubDate>
		<dc:creator><![CDATA[]]></dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[i网罗]]></category>

		<guid isPermaLink="false">http://www.bcmgs.com/?p=698</guid>
		<description><![CDATA[来自：码农翻身（微信号：coderising） 作者：IBM刘欣 我是一个线程，&#160;我一出生就被编了个<a href="http://www.bcmgs.com/i-am-a-thread" class="read-more">Continue Reading</a>]]></description>
				<content:encoded><![CDATA[<blockquote style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
<p>
		<strong><span style="font-size:14px;color:#0052FF;">来自：<span class="" style="line-height:20px;">码农翻身</span>（微信号：coderising）</span></strong>
	</p>
<p>
		<span style="color:#0052FF;"><strong><span style="font-size:14px;">作者：IBM刘欣</span></strong></span>
	</p>
</blockquote>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	我是一个线程，&nbsp;我一出生就被编了个号： 0x3704, &nbsp;然后被领到一个昏暗的屋子里， &nbsp;这里我发现了很多和我一模一样的同伴。
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	&nbsp;
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	我身边的同伴0x6900 待的时间比较长， 他带着沧桑的口气对我说：
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	我们线程的宿命就是处理包裹。 把包裹处理完以后还得马上回到这里，否则可能永远回不来了。
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	我一脸懵懂，包裹，什么包裹？
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	”不要着急，马上你就会明白了， 我们这里是不养闲人的。“
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	果然，没多久，屋子的门开了， 一个面貌凶恶的家伙吼道：&nbsp;
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	＂0x3704 ,出来！＂
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	我一出来就被塞了一个沉甸甸的包裹，上面还有附带着一个写满了操作步骤的纸。&nbsp;
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	＂快去，把这个包裹处理了。＂
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	＂去哪儿处理＂
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	＂跟着指示走， 先到就绪车间＂
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	果然，地上有指示箭头，跟着它来到了一间明亮的大屋子，这里已经有不少线程了， 大家都很紧张，好像时刻准备着往前冲。
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	我刚一进来，就听见广播说：“0x3704, 进入车间”
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	我赶紧往前走， 身后很多人议论说：
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	&nbsp;”他太幸运了， 刚进入就绪状态就能运行“
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	&nbsp;”是不是有关系？“&nbsp;
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	&nbsp;”不是，你看人家的优先级多高啊， 唉“
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;">前边就是车间， 这里简直是太美了， 怪不得老线程总是唠叨着说：要是能一直待在这里就好了。&nbsp;</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	这里空间大，视野好，空气清新，鸟语花香，还有很多从来没见过的人，像服务员一样等着为我服务。&nbsp;
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	他们也都有编号， 更重要的是每个人还有个标签，上面写着：硬盘，数据库，内存，网卡．．．
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	我现在理解不了，看看操作步骤吧：
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="color:#AB1942;"><strong>第一步：从包裹中取出参数 &nbsp;</strong></span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	打开包裹， 里边有个HttpRequest &nbsp;对象, 可以取到 userName, password两个参数
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="color:#AB1942;"><strong>第二步：执行登录操作</strong></span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	奥，原来是有人要登录啊，我把userName/password 交给 数据库服务员，他拿着数据， 慢腾腾的走了。&nbsp;
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	&nbsp;
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	他怎么这么慢？　不过我是不是正好可以在车间里多待一会儿?　反正也没法执行第三步。
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<strong>就在这时，车间里的广播响了： </strong>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	"0x3704, &nbsp;我是CPU , 记住你正在执行的步骤， 马上带包裹离开"
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	我慢腾腾的开始收拾
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	”快点， 别的线程马上就要进来了“
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;">离开这个车间， 又来到一个大屋子，这里很多线程慢腾腾的在喝茶，打牌。</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	”哥们，你们没事干了？“
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	”你新来的把，&nbsp;你不知道我在等数据库服务员给我数据啊！ ，据说他们比我们慢好几十万倍， 在这里好好歇吧“
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	”啊？ 这么慢？ &nbsp;我这里有人在登录系统， 能等这么长时间吗"
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	”放心，你没听说过人间一天， CPU一年吗， 我们这里是用纳秒，毫秒计时的， 人间等待一秒，相当于我们好几天呢， 来的及“
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<strong>干脆睡一会吧 ， 不知道过了多久 ，大喇叭又开始广播了：</strong>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	"0x3704， 你的数据来了，快去执行”
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	我转身就往CPU车间跑，发现这里的们只出不进！
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<strong>后面传来阵阵哄笑声：</strong>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	”果然是新人， 不知道还得去就绪车间等“
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;">于是赶紧到就绪车间， 这次没有那么好运了， 等了好久才被再次叫进CPU车间。</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	在等待的时候， 我听见有人小声议论：
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	”听说了吗，最近有个线程被kill掉了“
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	”为啥啊？“
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	”这家伙赖在ＣＰＵ车间不走，　把CPU利用率一直搞成100%，后来就被kill掉了“
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	”Kill掉以后弄哪儿去了“
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	”可能被垃圾回收了吧“
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	我心里打了个寒噤 ， &nbsp;赶紧接着处理，&nbsp;收下的动作块多了，第二步登录成功了
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="color:#AB1942;"><strong>第三步：构建登录成功后的主页</strong></span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	这一步有点费时间， 因为有很多HTML需要处理， 不知道代码谁写的，处理起来很烦人。
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<strong>我正在紧张的制作html呢， CPU有开始叫了：</strong>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	"0x3704, &nbsp;我是CPU , 记住你正在执行的步骤， 马上带包裹离开"
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	”为啥啊“
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	”每个线程只能在CPU上运行一段时间，到了时间就得让别人用了， 你去就绪车间待着， 等着叫你吧“
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;">就这样， 我一直在就绪-运行 这两个状态，不知道轮转了多少次， 终于安装步骤清单把工作做完了。</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	最后顺利的把包含html的包裹发了回去。
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	至于登录以后干什么事儿 ， 我就不管了。&nbsp;
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	马上就要回到我那昏暗的房间了， 真有点舍不得这里。
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	不过相对于有些线程， 我还是幸运的， 他们运行完以后就彻底的销毁了，而我还活着 ！
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<strong><span style="line-height:1.6;"><br />
</span></strong>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<strong><span style="line-height:1.6;">回到了小黑屋， 老线程0x6900 问：</span></strong>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	”怎么样？第一天有什么感觉？“
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	”我们的世界规则很复杂 ， 首先你不知道什么时候会被挑中执行;&nbsp; 第二 ，在执行的过程中随时可能被打断，让出CPU车间;
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	&nbsp;&nbsp;第三，一旦出现硬盘，数据库这样耗时的操作也得让出CPU,去等待; &nbsp;第四，就是数据来了，你也不一定马上执行，还得等着CPU挑选“
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	”小伙子理解的不错啊“
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	”我不明白为什么很多线程都执行完就死了， 为什么咱们还活着？“
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	”你还不知道， 长生不老是我们的特权， 我们这里有个正式的名称，叫做&nbsp;线程池！“
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	平淡的日子就这么一天天过去， 作为一个线程， 我每天的生活都是取包裹，处理包裹，然后回到我们昏暗的家：线程池。
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;">有一天我回来的时候， 听到有个兄弟说， 今天要好好休息下，明天就是最疯狂的一天。&nbsp;</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;">我看了一眼日历，明天是 11月11号 。&nbsp;</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;">果然，零点刚过，不知道那些人类怎么了， 疯狂的投递包裹， 为了应付蜂拥而至的海量包裹， 线程池里没有一个人能闲下来，</span><span style="line-height:1.6;">全部出去处理包裹，CPU车间利用率超高，硬盘在嗡嗡转， 网卡疯狂的闪， &nbsp;即便如此， 还是处理不完，堆积如山。</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;">我们也没有办法，实在是太多太多了， 这些包裹中大部分都是浏览页面，下订单，买，买，买。</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;">不知道过了多久， 包裹山终于慢慢的消失了。</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	终于能够喘口气， 我想我永远都不会忘记这一天。
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	通过这个事件，我明白了我所处的世界：这是一个电子商务的网站！
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	我每天的工作就是处理用户的登录，浏览， 购物车，下单，付款。
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	我问线程池的元老0x6900 ： " 我们要工作到什么时候？"
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	" 要一直等到系统重启的那一刻"，&nbsp;0x6900&nbsp;说
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	" 那你经历过系统重启吗？"
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	" 怎么可能？ , 系统重启就是我们的死亡时刻， 也就是世界末日，一旦重启， 整个线程池全部销毁，时间和空间全部消失，一切从头再来”
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	" 那什么时候会重启？"
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	" 这就不好说了,好好享受眼前的生活吧....."
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;">其实生活丰富多彩，&nbsp;</span><span style="line-height:1.6;">我最喜欢的包裹是上传图片，由于网络慢，所以能在</span><span style="line-height:1.6;">就绪车间， CPU车间待很长很长时间，可以认识很多好玩的线程。</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;">比如说上次认识了memecached 线程，他给我说通过他缓存了很多的用户数据， 还是分布式的！ 很多机器上都有！</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	我说怪不得后来的登录操作快了那么多， 原来是不再从数据库取数据了你那里就有啊， 哎对了你是分布式的你去过别的机器没有？
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;">他说怎么可能我每次也只能通过网络往那个机器发送一个GET, PUT命令才存取数据而已， 别的一概不知。</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;">再比如说上次在等待的时候遇到了数据库连接的线程， 我才知道它他那里也是一个连接池， 和我们线程池几乎一模一样。</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;">他说有些包裹太变态了，竟然查看一年的订单数据， 简直把我累死了。</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;">我说拉倒吧你， 你那是纯数据， 你把数据传给我以后，我还得组装成HTML, &nbsp;工作量不知道比你大多少倍。</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;">他说一定你要和memecached搞好关系，直接从他那儿拿数据，尽量少直接调用数据库， 我们JDBC connection也能活的轻松点。</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;">我说好啊好啊， 关键是你得提前把数据搞到缓存啊， 要不然我先问一遍缓存， 没有数据， 我这不还得找你吗？</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;">生活就是这样， 如果你自己不找点乐子，还有什么意思？</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;"><br />
</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="line-height:1.6;">有一天我遇到一个可怕的事情， 差一点死在外边，回不了线程池了......</span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	其实这次遇险我应该能够预想到才对， 太大意了。&nbsp;
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	前几天我处理过一些从http 发来的存款和取款的包裹， 老线程0x6900 特意嘱咐我：
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	&nbsp;"处理这些包裹的时候要特别小心， 你得一定要先获得一把锁， 在对账户存款或者取款的时候一定要把账户给锁住， 要不然别的线程就会在你等待的时候趁虚而入，搞破坏， 我年轻那会儿很毛糙，就捅了篓子"&nbsp;
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	为了“恐吓”我， 好心的0x6900还给了我两个表格：
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	<span style="color:#AB1942;"><strong></p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		<strong>1、没有加锁的情况<br />
</strong>
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;text-align:center;background-color:#FAFFFF;">
		<img src="http://images2015.cnblogs.com/kb/1/201604/1-20160402230329082-1242045024.jpg" alt="" width="620" height="527" />
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		<strong> 2、加锁的情况<br />
</strong>
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;text-align:center;background-color:#FAFFFF;">
		<strong><img src="http://images2015.cnblogs.com/kb/1/201604/1-20160402230514848-1435839377.jpg" alt="" width="620" height="527" /></strong>
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		我看的胆颤心惊， 原来不加锁会带来这么严重的事故。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		从此以后看到存款，取款的包裹就倍加小心，还好，没有出过事故。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		今天我收到的一个包裹是转账，从某著名演员的账号给某著名导演赚钱，具体是谁我就不透漏了，数额可真是不小。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		我按照老线程的吩咐，肯定要加锁啊，先对著名演员账号加锁，在对著名导演账号加锁。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		可我万万没想到的是，还有一个线程，对，就是0x7954，竟然同时在从这个导演到往这个演员转账。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		<strong> 于是乎，就出现了这么个情况：<br />
</strong>
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;text-align:center;background-color:#FAFFFF;">
		<strong><img src="http://images2015.cnblogs.com/kb/1/201604/1-20160402230726051-373892362.jpg" alt="" width="620" height="378" /></strong>
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		刚开始我还不知道什么情况，一直坐在等待车间傻等，可是等的时间太长了，长达几十秒！我可从来没有经历过这样的事件。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		这时候我就看到了线程0x7954，他悠闲的坐在那里喝咖啡，我和他聊了起来：
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		“哥们，我看你已经喝了8杯咖啡了，怎么还不去干活？”
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		“你不喝了9杯茶了吗？” 0x7954 回敬到。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		“我在等一个锁， 不知道哪个孙子一直不释放”
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		“我也在等锁啊，我要是知道哪个孙子不释放锁我非揍死他不可 ” 0x7954 毫不示弱。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		我偷偷的看了一眼，这家伙怀里不就抱着我正在等的某导演的锁嘛？
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		很明显，0x7954也发现了我正抱着他正在等待的锁。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		<strong> 很快我们两个就吵了起来，互不相让：</strong>
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		“把你的锁先给我，让我先做完”
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		“不行，从来都是做完工作才释放锁，现在绝对不能给你”
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		从争吵到打起来，就那么几秒钟的事儿。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		更重要的是，我们俩不仅仅持有这个著名导演和演员的锁，还有很多其他的锁，导致等待的线程越来越多，围观的人们把屋子都挤满了。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		最后事情真的闹大了，我从来没见过的终极大Boss“操作系统”也来了。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		大Boss毕竟是见多识广，他看了一眼，哼了一声，很不屑的说：
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		“又出现死锁了”
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		“你们俩要Kill掉一个， 来吧，过来抽签”
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		这一下子把我给吓尿了，这么严重啊！
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		我战战兢兢的抽了签，打开一看，是个"活"字。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		唉，小命终于保住了。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		可怜的0x7954被迫交出了所有的资源以后，很不幸的被kill掉，消失了。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		我拿到了导演的锁，可以开始干活了。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		大Boss操作系统如一阵风似的消失了，身后只传来他的声音：
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		“记住， 我们这里导演&gt;演员，无论认识情况都要先获得导演的锁”
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		由于不仅仅是只有导演和演员，还有很多其他人，Boss留下了一个表格，里边是个算法，用来计算资源的大小，计算出来以后，永远按照从大到小的方式来获得锁：
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;text-align:center;background-color:#FAFFFF;">
		<img src="http://images2015.cnblogs.com/kb/1/201604/1-20160402231250394-675510076.jpg" alt="" width="620" height="78" />
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;text-align:center;background-color:#FAFFFF;">
		<img src="http://images2015.cnblogs.com/kb/1/201604/1-20160402231400582-1135598015.jpg" alt="" width="620" height="647" />
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		我回到线程池，大家都知道了我的历险，围着我问个不停。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		凶神恶煞的线程调度员把大Boss的算法贴到了墙上。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		每天早上，我们都得像无节操的房屋中介，美容美发店的服务员一样，站在门口，像被耍猴一样大声背诵：
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		“多个资源加锁要牢记，一定要按Boss的算法比大小，然后从最大的开始加锁”
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		又过了很多天，我和其他线程们发现了一个奇怪的事情：包裹的处理越来越简单。不管任何包裹，不管是登录， 浏览，存钱..... 处理的步骤都是一样的，返回一个固定的html页面。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		有一次我偷偷的看了一眼，上面写着：
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		“本系统将于今晚 00:00 至 4:00 进行维护升级， 给你带来的不便我们深感抱歉”
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		我去告诉了老线程0x6904，他叹了一口气说：
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		“唉，我们的生命也到头了，看来马上就要重启系统，我们就要消失了，再见吧兄弟。”
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		系统重启的那一刻终于到来了。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		我看到屋子里的东西一个个的不见了，等待车间，就绪车间，甚至CPU车间都慢慢的消失了。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		我身边的线程兄弟也越来越少，最后只剩我自己了。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		我在空旷的原野上大喊：还有人吗？
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		无人应答。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		我们这一代线程池完成了使命。
	</p>
<p style="font-family:verdana, Arial, Helvetica, sans-serif;font-size:14px;color:#232323;background-color:#FAFFFF;">
		下一代线程池将很快重生。
	</p>
<p></strong></span>
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	
</p>
<p style="color:#3E3E3E;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;background-color:#FFFFFF;">
	（完）</p>
<a href="#" class="zilla-likes" id="zilla-likes-698" title="赞一个"><span class="zilla-likes-count">0</span> <span class="zilla-likes-postfix">还没人赞过...</span></a>]]></content:encoded>
			<wfw:commentRss>http://www.bcmgs.com/i-am-a-thread/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>选择技术学习目标的困惑与困境</title>
		<link>http://www.bcmgs.com/selection-learning-objective-difficulties-and-dilemmas</link>
		<comments>http://www.bcmgs.com/selection-learning-objective-difficulties-and-dilemmas#comments</comments>
		<pubDate>Fri, 24 Apr 2015 00:30:05 +0000</pubDate>
		<dc:creator><![CDATA[]]></dc:creator>
				<category><![CDATA[i网罗]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[选择]]></category>

		<guid isPermaLink="false">http://www.bcmgs.com/?p=663</guid>
		<description><![CDATA[大部分在国内教育体系下成长起来，尤其是仍然在做技术背景工作的工程师，在家庭、学校以及五千年儒家文化的影响下，有<a href="http://www.bcmgs.com/selection-learning-objective-difficulties-and-dilemmas" class="read-more">Continue Reading</a>]]></description>
				<content:encoded><![CDATA[<p>
	<span style="font-size:14px;">大部分在国内教育体系下成长起来，尤其是仍然在做技术背景工作的工程师，在家庭、学校以及五千年儒家文化的影响下，有一个根深蒂固的思维习惯，如果某段时间没有学习目标（尤其是书本知识），就会有一种来自内心虚度年华焦虑。&nbsp;</span>
</p>
<p>
	<span style="font-size:14px;">但学习的选择始终是个大问题。</span>
</p>
<p>
	<span style="font-size:14px;">在学校阶段，除了填大学志愿时候会有短暂的专业选择困惑外，其他时间对于学习的目标基本不存在选择的困惑，所有目标已经被学校、家长及环境圈定了。但有一天走入社会之时，由于没有经过实际的选择历练，面对技术圈的花花世界，就会出现学习上选择的困难，包括进一步的在目标无效投入的时间消耗。&nbsp;</span>
</p>
<p>
	<span style="font-size:14px;">以技术领域为例，就拿主业来说，就会有很多选择，拿编程语言选择来讲，比如PHP与Go语言到底要选哪个？技术框架、操作系统、工具与平台等都需要突破，OpenStack和Docker都不懂是不是都要学？每一个热门的领域，由于都是由该领域内大量精英设计与完成，大量的代码、使用方法、使用经验值得学习，究竟应该去看Redis源码还是docker源码？技术领域由于分工的垂直与细化，以及IT工业的繁荣，每个领域都有业界长年的积累，因此一旦选择一个领域则需要投入大量时间了解整个体系。技术的学习除了看书本与资料，通常还需要该领域的实践，因此</span><strong><span style="font-size:14px;">任何一个兴趣的选择都伴随大量时间的消耗</span></strong><span style="font-size:14px;">。&nbsp;</span>
</p>
<p>
	<span style="font-size:14px;">从一大堆细分领域里面挑出一个适合自己的本来就很困难，选择后如果没有强的驱动力往往会半途而废。有大量环境的因素会影响我们已有的选择，“你还在学Objective-C，我们已经用Swift了”，见异思迁会导致上一个学习目标投入时间的浪费。另外一方面，跟随热点也会疲于奔命，当打算切入一个热点领域时，需要临时停下手中的事情，并进一步投入大量时间进行该领域的实践与学习。</span>
</p>
<ul>
<li>
		<span style="font-size:14px;">看到有不少app一夜成功时，我们会花一个月时间来学做移动开发；</span>
	</li>
<li>
		<span style="font-size:14px;">当了解机器学习很有前景时，我们又会花几个月时间从头学习算法。</span>
	</li>
<li>
		<span style="font-size:14px;">……</span>
	</li>
</ul>
<p>
	<span style="font-size:14px;">业界不会缺少热点，简单追随热点会让你最终炫耀一些新的词汇外，不会留下太多积累的东西。&nbsp;</span>
</p>
<div align="center">
	<img src="http://www.nowamagic.net/librarys/images/201504/2015_04_12_02.jpg" />
</div>
<p>
	<span style="font-size:14px;">由于互联网创业潮的涌起，IT职场也是非常热，为了让自己获得更多的职场机会，各种算法题目不能不做。面试官通常还对是否参与开源项目感兴趣，但拥有一个拿得出手的小工具放在github上通常是工程师们一直被拖延的计划。面试时候，面试官通常会给你评价表达能力或者逻辑思维能力欠佳，学校的老师未曾关心及培养你这些软素质，导致你又需要重新去锻炼这些能力。&nbsp;</span>
</p>
<p>
	<span style="font-size:14px;">你很羡慕哪些看美剧不用看字幕的人，也在和朋友讨论时候发现有不少电影及TV剧没看而导致插不上嘴，因此周末时候最好把这些恶补回来。朋友圈里面似乎朋友都在满世界跑，因此，只要有便宜机票或旅行团，你一定不会放过这些在露脸的机会。&nbsp;</span>
</p>
<p>
	<span style="font-size:14px;">当你工作的项目很忙时候，你会抱怨没有时间充电而不能跟上时代的步伐；当工作项目不紧时，你又会抱怨新学的技能没有使用需求及使用场景而不能深入。&nbsp;</span>
</p>
<p>
	<span style="font-size:14px;">这就是很多工程师典型的年复一年的日子，他们很希望学点东西，也一直在学习，但往往最后未曾有效学到一些若干年后还能留下来的东西。</span>
</p>
<p>
	<span style="font-size:14px;">很多人告诉我们，坚持做一件事情，把这件事情做到极致，就是成功了。而现实又会让我们不断分散时间和注意力。注意看清之间的矛盾，做出合理的权衡，是我们一直忽视，但又非常重要的事。</span>
</p>
<p>
	<span style="font-size:14px;">via: 微信 TimYang</span></p>
<a href="#" class="zilla-likes" id="zilla-likes-663" title="赞一个"><span class="zilla-likes-count">0</span> <span class="zilla-likes-postfix">还没人赞过...</span></a>]]></content:encoded>
			<wfw:commentRss>http://www.bcmgs.com/selection-learning-objective-difficulties-and-dilemmas/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
