<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>疑难杂症备忘</title><link>http://blog.vckbase.com/wangjun/category/39.html</link><description>是机器总会发生故障...</description><managingEditor>王骏的BLOG</managingEditor><dc:language>af</dc:language><generator>.Text Version 0.958.2004.214</generator><item><dc:creator>王骏的BLOG</dc:creator><title>Linux密码恢复</title><link>http://blog.vckbase.com/wangjun/archive/2008/08/07/34613.html</link><pubDate>Thu, 07 Aug 2008 10:22:00 GMT</pubDate><guid>http://blog.vckbase.com/wangjun/archive/2008/08/07/34613.html</guid><wfw:comment>http://blog.vckbase.com/wangjun/comments/34613.html</wfw:comment><comments>http://blog.vckbase.com/wangjun/archive/2008/08/07/34613.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.vckbase.com/wangjun/comments/commentRss/34613.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/wangjun/services/trackbacks/34613.html</trackback:ping><description>&lt;P&gt;1）用第一张安装盘引导&lt;BR&gt;2）进入提示符后输入linux rescue进入拯救模式&lt;BR&gt;3）提示挂接/mnt/sysimage成功后&lt;BR&gt;chroot /mnt/sysimage&lt;BR&gt;echo "0"&amp;gt;/selinux/enforce&lt;BR&gt;passwd root xxxxxx&lt;/P&gt;
&lt;P&gt;如果没有输入echo "0"&amp;gt;/selinux/enforce,会产生如下错误：&lt;BR&gt;passwd: user_u:system_r:unconfined_t is not authorized to change the password root&lt;/P&gt;
&lt;P&gt;如果没有启动盘，可以在到到grub界面是按'a',然后为kernel命令行添加selinux=0参数，然后回车继续启动。&lt;BR&gt;&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/wangjun/aggbug/34613.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>王骏的BLOG</dc:creator><title>wise installation 不能执行外部程序</title><link>http://blog.vckbase.com/wangjun/archive/2008/06/12/34113.html</link><pubDate>Thu, 12 Jun 2008 07:54:00 GMT</pubDate><guid>http://blog.vckbase.com/wangjun/archive/2008/06/12/34113.html</guid><wfw:comment>http://blog.vckbase.com/wangjun/comments/34113.html</wfw:comment><comments>http://blog.vckbase.com/wangjun/archive/2008/06/12/34113.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.vckbase.com/wangjun/comments/commentRss/34113.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/wangjun/services/trackbacks/34113.html</trackback:ping><description>wise installation 制作的发行包，在安装过程中选择安装完成后自动运行程序，出现没有找到c:\program File\mydoc\??.exe 不能执行外部程序。&lt;BR&gt;&lt;BR&gt;解决：&lt;BR&gt;先关闭WISE，用记事本打开.wse文件，找到如下行：&lt;BR&gt;item: Execute Program&lt;BR&gt;&amp;nbsp; Pathname=%MAINDIR%\？？.exe&lt;BR&gt;&amp;nbsp; Default Directory=%MAINDIR%\&lt;BR&gt;&lt;BR&gt;将？？替换即可！&lt;img src ="http://blog.vckbase.com/wangjun/aggbug/34113.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>王骏的BLOG</dc:creator><title>DELL Inspiron Desktop 530/531(nForce芯片组)安装XP蓝屏</title><link>http://blog.vckbase.com/wangjun/archive/2008/03/24/33016.html</link><pubDate>Mon, 24 Mar 2008 13:05:00 GMT</pubDate><guid>http://blog.vckbase.com/wangjun/archive/2008/03/24/33016.html</guid><wfw:comment>http://blog.vckbase.com/wangjun/comments/33016.html</wfw:comment><comments>http://blog.vckbase.com/wangjun/archive/2008/03/24/33016.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.vckbase.com/wangjun/comments/commentRss/33016.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/wangjun/services/trackbacks/33016.html</trackback:ping><description>&lt;P&gt;安装XP后启动的时候10次有8次蓝屏，显示nvgts.sys出错。&lt;BR&gt;---------------&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 如果您遇到电脑的使用或设置问题，欢迎访问戴尔技术论坛（&lt;A href="http://bbs.dell.com.cn"&gt;http://bbs.dell.com.cn&lt;/A&gt;），上面有丰富的技术知识与使用文档。相信您可以利用上面的知识迅速解决遇到的问题，例如：重新分区、操作系统与驱动程序安装、电脑日常维护，常见蓝屏问题&amp;#8230;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 下面会有一些常见问题的链接，有兴趣您可以点击到我们论坛查看。 &lt;/P&gt;
&lt;P&gt;主板和网卡驱动:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://drivers.mydrivers.com/download/156-62543-nVIDIA-nForce-430-410-MCP61-ForceWare-11.08-WHQL-For-Win2000-XP"&gt;http://drivers.mydrivers.com/download/156-62543-nVIDIA-nForce-430-410-MCP61-ForceWare-11.08-WHQL-For-Win2000-XP&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;声卡驱动:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://drivers.mydrivers.com/download/177-70834-Realtek-ALC880-ALC882-ALC883-ALC885-ALC888"&gt;http://drivers.mydrivers.com/download/177-70834-Realtek-ALC880-ALC882-ALC883-ALC885-ALC888&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;显卡驱动:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://drivers.mydrivers.com/download/dir161/d64459.shtml"&gt;http://drivers.mydrivers.com/download/dir161/d64459.shtml&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;驱动安装常见问题：&lt;/P&gt;
&lt;P&gt;1，如果电脑配置的是AMD 速龙(Athlon)的处理器，且安装驱动后设备管理器中仍然有一个未知设备，请参阅：&lt;BR&gt;&lt;A href="http://support1.ap.dell.com/cn/zh/forum/thread.asp?fid=40&amp;amp;tid=106476"&gt;http://support1.ap.dell.com/cn/zh/forum/thread.asp?fid=40&amp;amp;tid=106476&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;上述驱动程序安装图解：&lt;/P&gt;
&lt;P&gt;一、主板芯片组&amp;amp;集成网卡驱动安装&lt;BR&gt;&lt;A href="http://support1.ap.dell.com/cn/zh/forum/thread.asp?fid=40&amp;amp;tid=106473"&gt;http://support1.ap.dell.com/cn/zh/forum/thread.asp?fid=40&amp;amp;tid=106473&lt;/A&gt;&lt;BR&gt;二、集成声卡驱动安装：&lt;BR&gt;&lt;A href="http://support1.ap.dell.com/cn/zh/forum/thread.asp?fid=40&amp;amp;tid=106245"&gt;http://support1.ap.dell.com/cn/zh/forum/thread.asp?fid=40&amp;amp;tid=106245&lt;/A&gt;&lt;BR&gt;三、ATI独立显卡驱动安装&lt;BR&gt;&lt;A href="http://support1.ap.dell.com/cn/zh/forum/thread.asp?fid=40&amp;amp;tid=106253"&gt;http://support1.ap.dell.com/cn/zh/forum/thread.asp?fid=40&amp;amp;tid=106253&lt;/A&gt;&lt;BR&gt;注：NVIDIA集成显卡驱动的安装方法与其独立显卡类似，参考之即可，这里不再提供单独的安装图解。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/wangjun/aggbug/33016.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>王骏的BLOG</dc:creator><title>杀毒引起的EXE文件无法执行的解决</title><link>http://blog.vckbase.com/wangjun/archive/2006/08/17/21955.html</link><pubDate>Thu, 17 Aug 2006 14:00:00 GMT</pubDate><guid>http://blog.vckbase.com/wangjun/archive/2006/08/17/21955.html</guid><wfw:comment>http://blog.vckbase.com/wangjun/comments/21955.html</wfw:comment><comments>http://blog.vckbase.com/wangjun/archive/2006/08/17/21955.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.vckbase.com/wangjun/comments/commentRss/21955.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/wangjun/services/trackbacks/21955.html</trackback:ping><description>某些病毒与EXE文件的SHELL执行相关联，当病毒体删除后，如果注册表没有修改，双击任何EXE文件都无法打开。&lt;BR&gt;此时的解决方法是：&lt;BR&gt;1）将Windows目录下的regedit.exe 改名为regedit.scr&lt;BR&gt;2）运行regedit.scr，命令行可以用start regedit.scr打开&lt;BR&gt;3）修改注册表HKEY_CLASSES_ROOT, EXEFILE\SHELL\OPEN\COMMAND下的内容&lt;img src ="http://blog.vckbase.com/wangjun/aggbug/21955.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>王骏的BLOG</dc:creator><title>不停弹出IE窗口故障一例</title><link>http://blog.vckbase.com/wangjun/archive/2005/11/10/14692.html</link><pubDate>Thu, 10 Nov 2005 02:45:00 GMT</pubDate><guid>http://blog.vckbase.com/wangjun/archive/2005/11/10/14692.html</guid><wfw:comment>http://blog.vckbase.com/wangjun/comments/14692.html</wfw:comment><comments>http://blog.vckbase.com/wangjun/archive/2005/11/10/14692.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.vckbase.com/wangjun/comments/commentRss/14692.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/wangjun/services/trackbacks/14692.html</trackback:ping><description>
&lt;P&gt;即使IE没有打开也会自动弹出这些窗口：&lt;BR&gt;
http://www.coupon-online.com/normal/yyy34.html&lt;BR&gt;
http://www.cash-coupon.com/normal/yyy34.html&lt;BR&gt;
http://www.virtual-coupon.com/normal/yyy34.html&lt;BR&gt;
http://www.searc-h.com/normal/yyy34.html&lt;BR&gt;
http://www.super-stock.com/normal/yyy34.html
&lt;/P&gt;
&lt;P&gt;祭起HiJackThis, IE修复工具等宝贝都无法解决。&lt;BR&gt;最后使用SpySweeper才将多个木马清除出去。&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/wangjun/aggbug/14692.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>王骏的BLOG</dc:creator><title>手动修改ORACLE客户端配置</title><link>http://blog.vckbase.com/wangjun/archive/2005/10/10/13044.html</link><pubDate>Mon, 10 Oct 2005 09:27:00 GMT</pubDate><guid>http://blog.vckbase.com/wangjun/archive/2005/10/10/13044.html</guid><wfw:comment>http://blog.vckbase.com/wangjun/comments/13044.html</wfw:comment><comments>http://blog.vckbase.com/wangjun/archive/2005/10/10/13044.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.vckbase.com/wangjun/comments/commentRss/13044.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/wangjun/services/trackbacks/13044.html</trackback:ping><description>&lt;P&gt;配置ORACLE客户端需要使用SQL*Net Easy Configuration工具进行配置，&lt;BR&gt;如果不依赖该工具手工修改配置或在自己的程序里直接修改配置需要这样做：&lt;/P&gt;
&lt;P&gt;1）修改ORANT\NETWORK\ADMIN\TNSNAMES.ORA&lt;BR&gt;具体内容可以参考其它数据库的配置&lt;/P&gt;
&lt;P&gt;2）记录TNSNAMES.ORA的文件大小，&lt;BR&gt;修改ORANT\NETWORK\CFG\sqlnetv2.cfg&lt;BR&gt;在后面修改对应的数据库别名，并修改：&lt;BR&gt;next_addendum 表示个数&lt;BR&gt;tns_filesize TNSNAMES.ORA的文件大小&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;如果我们只修改TNSNAMES.ORA而不修改sqlnetv2.cfg, 就会显示错误：没有通过&lt;BR&gt;SQL*Net Easy Configuration修改必须进行恢复。&lt;BR&gt;&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/wangjun/aggbug/13044.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>王骏的BLOG</dc:creator><title>string与线程安全</title><link>http://blog.vckbase.com/wangjun/archive/2005/07/01/9062.html</link><pubDate>Fri, 01 Jul 2005 14:19:00 GMT</pubDate><guid>http://blog.vckbase.com/wangjun/archive/2005/07/01/9062.html</guid><wfw:comment>http://blog.vckbase.com/wangjun/comments/9062.html</wfw:comment><comments>http://blog.vckbase.com/wangjun/archive/2005/07/01/9062.html#Feedback</comments><slash:comments>20</slash:comments><wfw:commentRss>http://blog.vckbase.com/wangjun/comments/commentRss/9062.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/wangjun/services/trackbacks/9062.html</trackback:ping><description>&lt;STRONG&gt;&lt;FONT color=#cc3333&gt;问题由来:&lt;/FONT&gt;&lt;/STRONG&gt; 一个多线程程序运行一段时间后变得不正常，许多string类型变量的内容不正常。&lt;BR&gt;因为程序在本机运行一直正常，而拿到一台服务器上运行有问题，怀疑服务器上是多CPU具有&lt;BR&gt;真正的并发性造成某个未同步的变量操作异常。检查所有应该同步的代码，似乎都进行了正确的同步。&lt;BR&gt;大致代码如下：&lt;BR&gt;&lt;BR&gt;
&lt;DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid"&gt;
&lt;DIV&gt;&lt;IMG src="/Images/OutliningIndicators/None.gif" align=top&gt;&lt;SPAN style="COLOR: #000000"&gt;#include&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;stdafx.h&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/None.gif" align=top&gt;#include&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;process.h&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/None.gif" align=top&gt;#include&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;iostream&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/None.gif" align=top&gt;#include&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;conio.h&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/None.gif" align=top&gt;#include&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/None.gif" align=top&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/None.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;g_str;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/None.gif" align=top&gt;CRITICAL_SECTION&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;g_cs;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/None.gif" align=top&gt;&lt;BR&gt;&lt;IMG id=Codehighlighter1_158_189_Open_Image onclick="this.style.display='none'; Codehighlighter1_158_189_Open_Text.style.display='none'; Codehighlighter1_158_189_Closed_Image.style.display='inline'; Codehighlighter1_158_189_Closed_Text.style.display='inline';" src="/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top&gt;&lt;IMG id=Codehighlighter1_158_189_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_158_189_Closed_Text.style.display='none'; Codehighlighter1_158_189_Open_Image.style.display='inline'; Codehighlighter1_158_189_Open_Text.style.display='inline';" src="/Images/OutliningIndicators/ContractedBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;LockString()&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN id=Codehighlighter1_158_189_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;&lt;IMG src="/Images/dot.gif"&gt;&lt;/SPAN&gt;&lt;SPAN id=Codehighlighter1_158_189_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&amp;nbsp;EnterCriticalSection(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;g_cs);&amp;nbsp;}&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;IMG id=Codehighlighter1_212_243_Open_Image onclick="this.style.display='none'; Codehighlighter1_212_243_Open_Text.style.display='none'; Codehighlighter1_212_243_Closed_Image.style.display='inline'; Codehighlighter1_212_243_Closed_Text.style.display='inline';" src="/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top&gt;&lt;IMG id=Codehighlighter1_212_243_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_212_243_Closed_Text.style.display='none'; Codehighlighter1_212_243_Open_Image.style.display='inline'; Codehighlighter1_212_243_Open_Text.style.display='inline';" src="/Images/OutliningIndicators/ContractedBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;UnlockString()&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN id=Codehighlighter1_212_243_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;&lt;IMG src="/Images/dot.gif"&gt;&lt;/SPAN&gt;&lt;SPAN id=Codehighlighter1_212_243_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&amp;nbsp;LeaveCriticalSection(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;g_cs);&amp;nbsp;}&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/None.gif" align=top&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/None.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;SetString(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;char&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;*&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;szText)&lt;BR&gt;&lt;IMG id=Codehighlighter1_277_330_Open_Image onclick="this.style.display='none'; Codehighlighter1_277_330_Open_Text.style.display='none'; Codehighlighter1_277_330_Closed_Image.style.display='inline'; Codehighlighter1_277_330_Closed_Text.style.display='inline';" src="/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top&gt;&lt;IMG id=Codehighlighter1_277_330_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_277_330_Closed_Text.style.display='none'; Codehighlighter1_277_330_Open_Image.style.display='inline'; Codehighlighter1_277_330_Open_Text.style.display='inline';" src="/Images/OutliningIndicators/ContractedBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN id=Codehighlighter1_277_330_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;&lt;IMG src="/Images/dot.gif"&gt;&lt;/SPAN&gt;&lt;SPAN id=Codehighlighter1_277_330_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LockString();&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;g_str&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;szText;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UnlockString();&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top&gt;}&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/None.gif" align=top&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/None.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;GetString()&lt;BR&gt;&lt;IMG id=Codehighlighter1_352_448_Open_Image onclick="this.style.display='none'; Codehighlighter1_352_448_Open_Text.style.display='none'; Codehighlighter1_352_448_Closed_Image.style.display='inline'; Codehighlighter1_352_448_Closed_Text.style.display='inline';" src="/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top&gt;&lt;IMG id=Codehighlighter1_352_448_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_352_448_Closed_Text.style.display='none'; Codehighlighter1_352_448_Open_Image.style.display='inline'; Codehighlighter1_352_448_Open_Text.style.display='inline';" src="/Images/OutliningIndicators/ContractedBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN id=Codehighlighter1_352_448_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;&lt;IMG src="/Images/dot.gif"&gt;&lt;/SPAN&gt;&lt;SPAN id=Codehighlighter1_352_448_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;strResult;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LockString();&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;strResult&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;g_str;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UnlockString();&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;strResult;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top&gt;}&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/None.gif" align=top&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/None.gif" align=top&gt;UINT&amp;nbsp;ThreadProc(LPVOID&amp;nbsp;lpParam)&lt;BR&gt;&lt;IMG id=Codehighlighter1_483_589_Open_Image onclick="this.style.display='none'; Codehighlighter1_483_589_Open_Text.style.display='none'; Codehighlighter1_483_589_Closed_Image.style.display='inline'; Codehighlighter1_483_589_Closed_Text.style.display='inline';" src="/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top&gt;&lt;IMG id=Codehighlighter1_483_589_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_483_589_Closed_Text.style.display='none'; Codehighlighter1_483_589_Open_Image.style.display='inline'; Codehighlighter1_483_589_Open_Text.style.display='inline';" src="/Images/OutliningIndicators/ContractedBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN id=Codehighlighter1_483_589_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;&lt;IMG src="/Images/dot.gif"&gt;&lt;/SPAN&gt;&lt;SPAN id=Codehighlighter1_483_589_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&amp;nbsp;为了使现象明显，这里进行了大量循环&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;for&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;int&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;i&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&amp;nbsp;i&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;200000&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&amp;nbsp;i&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;++&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;)&lt;BR&gt;&lt;IMG id=Codehighlighter1_541_575_Open_Image onclick="this.style.display='none'; Codehighlighter1_541_575_Open_Text.style.display='none'; Codehighlighter1_541_575_Closed_Image.style.display='inline'; Codehighlighter1_541_575_Closed_Text.style.display='inline';" src="/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top&gt;&lt;IMG id=Codehighlighter1_541_575_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_541_575_Closed_Text.style.display='none'; Codehighlighter1_541_575_Open_Image.style.display='inline'; Codehighlighter1_541_575_Open_Text.style.display='inline';" src="/Images/OutliningIndicators/ContractedSubBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN id=Codehighlighter1_541_575_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;&lt;IMG src="/Images/dot.gif"&gt;&lt;/SPAN&gt;&lt;SPAN id=Codehighlighter1_541_575_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;strTmp&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;GetString();&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top&gt;}&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/None.gif" align=top&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/None.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;#define&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAX_THREADS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;200&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/None.gif" align=top&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/None.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;int&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;main(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;)&lt;BR&gt;&lt;IMG id=Codehighlighter1_634_1115_Open_Image onclick="this.style.display='none'; Codehighlighter1_634_1115_Open_Text.style.display='none'; Codehighlighter1_634_1115_Closed_Image.style.display='inline'; Codehighlighter1_634_1115_Closed_Text.style.display='inline';" src="/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top&gt;&lt;IMG id=Codehighlighter1_634_1115_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_634_1115_Closed_Text.style.display='none'; Codehighlighter1_634_1115_Open_Image.style.display='inline'; Codehighlighter1_634_1115_Open_Text.style.display='inline';" src="/Images/OutliningIndicators/ContractedBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN id=Codehighlighter1_634_1115_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;&lt;IMG src="/Images/dot.gif"&gt;&lt;/SPAN&gt;&lt;SPAN id=Codehighlighter1_634_1115_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;::InitializeCriticalSection(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;g_cs);&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SetString(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;VC知识库&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;);&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HANDLE&amp;nbsp;hThreads[MAX_THREADS];&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UINT&amp;nbsp;nThreadID;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;int&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;i;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&amp;nbsp;开启线程&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;for&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;(i&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&amp;nbsp;i&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;MAX_THREADS;&amp;nbsp;i&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;++&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;)&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hThreads[i]&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;(HANDLE)_beginthreadex(NULL,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;,&amp;nbsp;(unsigned&amp;nbsp;(__stdcall&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;*&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;)(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;*&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;))ThreadProc,&amp;nbsp;NULL,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;nThreadID);&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&amp;nbsp;等待线程结束&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;for&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;(i&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&amp;nbsp;i&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;MAX_THREADS;&amp;nbsp;i&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;++&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;)&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;::WaitForSingleObject(hThreads[i],&amp;nbsp;INFINITE);&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&amp;nbsp;输出结果&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cout&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;string:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;GetString()&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;endl;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;::DeleteCriticalSection(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;g_cs);&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;getch();&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;IMG src="/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top&gt;}&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;BR&gt;代码中唯一共用的变量g_str已经用临界区进行了同步，似乎没有问题了。但运行的时候却发现有时没有运行到cout时程序便异常退出，&lt;BR&gt;或cout并没有输出正确的字符串。&lt;/P&gt;
&lt;P&gt;经过调试最后发现问题是出在 string strTmp = GetString();&lt;BR&gt;因为VC6自带的STL中的string采用cow方式，这种字符串的浅拷贝带来了多线程时的安全问题。而且这种错误隐藏得比较深，很难调试排错。&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#cc3333&gt;结论：&lt;/FONT&gt;&lt;/STRONG&gt;如果要在多线程程序中进行string变量的传递，建议使用深拷贝的string类，听说stlport没问题（本人没有测试过），如果采用VC.NET, 其自带的string是安全的。&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#cc3333&gt;测试环境：&lt;/FONT&gt;&lt;/STRONG&gt;双Intel Xeon CPU 2.8G, WIN2003, VC6, VC.NET&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/wangjun/aggbug/9062.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>王骏的BLOG</dc:creator><title>双SCSI硬盘安装小结</title><link>http://blog.vckbase.com/wangjun/archive/2005/03/09/3446.html</link><pubDate>Wed, 09 Mar 2005 02:44:00 GMT</pubDate><guid>http://blog.vckbase.com/wangjun/archive/2005/03/09/3446.html</guid><wfw:comment>http://blog.vckbase.com/wangjun/comments/3446.html</wfw:comment><comments>http://blog.vckbase.com/wangjun/archive/2005/03/09/3446.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.vckbase.com/wangjun/comments/commentRss/3446.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/wangjun/services/trackbacks/3446.html</trackback:ping><description>&lt;P&gt;SCSI设备（包括适配器与硬盘）都有唯一的ID号（也称为地址，一些硬盘上会以ADDR来标识），&lt;BR&gt;SCSI适配器一般默认ID为7。SCSI硬盘上有跳线(Jumper)可以设定ID号，SCSI硬盘没有短接任何&lt;BR&gt;跳线时ID为0，跳线按照8421 BCD编码计算，例如：&lt;/P&gt;&lt;PRE&gt;ID        跳线
----------------------
0         N/A
1         1
2         2
3         2+1
4         4
...        ...
15        8+4+2+1&lt;/PRE&gt;
&lt;P&gt;系统自检时用SCSI工具对SCSI适配器ID进行指定，也可以对硬盘进行低格。&lt;BR&gt;新增SCSI硬盘后，进入WINDOWS，如果我的电脑中没有立即出现该分区，&lt;BR&gt;需要打开控制面板-&amp;gt;管理工具-&amp;gt;计算机管理-&amp;gt;磁盘管理 &lt;BR&gt;右键点击左侧磁盘进行安装，然后右键点右边区域进行分区设定、高格、指定盘符等操作。&lt;BR&gt;&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/wangjun/aggbug/3446.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>王骏的BLOG</dc:creator><title>IE无法打印一例</title><link>http://blog.vckbase.com/wangjun/archive/2004/05/17/222.html</link><pubDate>Mon, 17 May 2004 14:32:00 GMT</pubDate><guid>http://blog.vckbase.com/wangjun/archive/2004/05/17/222.html</guid><wfw:comment>http://blog.vckbase.com/wangjun/comments/222.html</wfw:comment><comments>http://blog.vckbase.com/wangjun/archive/2004/05/17/222.html#Feedback</comments><slash:comments>16</slash:comments><wfw:commentRss>http://blog.vckbase.com/wangjun/comments/commentRss/222.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/wangjun/services/trackbacks/222.html</trackback:ping><description>&lt;img src ="http://blog.vckbase.com/wangjun/aggbug/222.html" width = "1" height = "1" /&gt;</description></item></channel></rss>