<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feeds.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feeds.feedsky.com/csdn.net/qin87" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feeds.feedsky.com/csdn.net/qin87" type="application/rss+xml"></fs:self_link><lastBuildDate>Tue, 28 Apr 2009 11:07:00 GMT</lastBuildDate><title>公主笔记（快乐的蓝精灵）</title><description>在那山的那边海的那边有一群蓝精灵，她们活泼又聪明，她们调皮又灵敏！</description><link>http://blog.csdn.net/qin87/</link><item><title>直接调用window.print将打印网页上的指定内容</title><link>http://blog.csdn.net/qin87/archive/2009/04/28/4132029.aspx</link><wfw:comment>http://blog.csdn.net/qin87/comments/4132029.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/qin87/comments/commentRss/4132029.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4132029</trackback:ping><description>&lt;br /&gt;脚本：&lt;br /&gt;&quot;;
        eprnstr=&quot;&quot;;
        prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+17);
        prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
        window.document.body.innerHTML=prnhtml;
        window.print();
    }
// --&gt;&lt;br /&gt;HTML代码：&lt;br /&gt;&lt;img src =&quot;http://blog.csdn.net/qin87/aggbug/4132029.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Tue, 28 Apr 2009 19:07:00 +0800</pubDate><author>daisy</author><comments>http://blog.csdn.net/qin87/archive/2009/04/28/4132029.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/qin87/archive/2009/04/28/4132029.aspx</guid><dc:creator>daisy</dc:creator><fs:srclink>http://blog.csdn.net/qin87/archive/2009/04/28/4132029.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/qin87/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/qin87/~1301019/212270969/1304021</fs:itemid></item><item><title>线程</title><link>http://blog.csdn.net/qin87/archive/2009/03/06/3961971.aspx</link><wfw:comment>http://blog.csdn.net/qin87/comments/3961971.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/qin87/comments/commentRss/3961971.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3961971</trackback:ping><description>&lt;br /&gt;目标一 实例化和启动线程&lt;br /&gt;通过使用java.lang.Thread 和 java.lang.Runnable 在代码中定义，实例化，和启动新线程。什么是线程？&lt;br /&gt;线程是表面上看似和主程序并行运行的轻量级进程。与进程不同的是它与程序的其他部分共享存储空间和数据。在这里线程的英文单词thread实际上是“thread of execution” 的缩写，you might like to imagine a rope from which you have frayed the end and taken one thread.它依然是主线程的一部分，但它可以独立出来，自己完成操作。这里请注意，启动一个多线程的程序和仅仅启动一个程序的多个同一程序是有区别的，因为一个多线程的程序将会对统一程序内的数据进行读取和存储。&lt;br /&gt;&lt;br /&gt;一个可以显示多线程用处的例子就是打印，当你按下打印按钮的时候，你肯定不希望主程序直到打印完成才开始响应。最棒的就是你可以让打印进程“在后台”悄悄的运行，同时你可以使用主程序的其他部分。&lt;br /&gt;&lt;br /&gt;而且当打印线程&lt;img src =&quot;http://blog.csdn.net/qin87/aggbug/3961971.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Fri, 06 Mar 2009 17:45:00 +0800</pubDate><author>daisy</author><comments>http://blog.csdn.net/qin87/archive/2009/03/06/3961971.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/qin87/archive/2009/03/06/3961971.aspx</guid><dc:creator>daisy</dc:creator><fs:srclink>http://blog.csdn.net/qin87/archive/2009/03/06/3961971.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/qin87/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/qin87/~1301019/212270970/1304021</fs:itemid></item><item><title>在.NET中的线程处理（5）</title><link>http://blog.csdn.net/qin87/archive/2009/02/18/3905962.aspx</link><wfw:comment>http://blog.csdn.net/qin87/comments/3905962.aspx</wfw:comment><slash:comments>1</slash:comments><wfw:commentRss>http://blog.csdn.net/qin87/comments/commentRss/3905962.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3905962</trackback:ping><description>Mutex  [C#]
可以使用 Mutex 对象在线程之间以及跨进程进行同步。虽然 Mutex 不具备 Monitor 类的所有等待和脉冲功能，但它的确提供了创建可在进程之间使用的命名的互斥体的功能。

调用 WaitOne、WaitAll 或 WaitAny 可以请求 Mutex 的所属权。如果没有任何线程拥有它，则 Mutex 的状态为已发信号的状态。

如果某个线程拥有 Mutex，则该线程就可以在重复的等待-请求调用中指定同一个 Mutex，而不必阻塞其执行；但是，它必须释放与释放所属权相同的次数的 Mutex。 

如果某个线程在拥有 Mutex 时正常终止，则 Mutex 的状态将被设置为已发信号的状态，并且下一个等待线程将获取所属权。Mutex 类与 Win32 CreateMutex 调用相对应。

下面的 C# 代码示例说明了 Mutex 的使用。

&lt;img src =&quot;http://blog.csdn.net/qin87/aggbug/3905962.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Wed, 18 Feb 2009 23:30:00 +0800</pubDate><author>daisy</author><comments>http://blog.csdn.net/qin87/archive/2009/02/18/3905962.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/qin87/archive/2009/02/18/3905962.aspx</guid><dc:creator>daisy</dc:creator><fs:srclink>http://blog.csdn.net/qin87/archive/2009/02/18/3905962.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/qin87/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/qin87/~1301019/212270971/1304021</fs:itemid></item><item><title>在.NET中的线程处理（6）</title><link>http://blog.csdn.net/qin87/archive/2009/02/18/3905969.aspx</link><wfw:comment>http://blog.csdn.net/qin87/comments/3905969.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/qin87/comments/commentRss/3905969.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3905969</trackback:ping><description>使用线程和线程处理
创建、管理和销毁托管线程是非常容易的，但如果不了解托管线程和非托管线程之间的关系以及 ThreadAbortException，则这样做可能会导致预料不到的副作用。

&lt;img src =&quot;http://blog.csdn.net/qin87/aggbug/3905969.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Wed, 18 Feb 2009 23:30:00 +0800</pubDate><author>daisy</author><comments>http://blog.csdn.net/qin87/archive/2009/02/18/3905969.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/qin87/archive/2009/02/18/3905969.aspx</guid><dc:creator>daisy</dc:creator><fs:srclink>http://blog.csdn.net/qin87/archive/2009/02/18/3905969.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/qin87/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/qin87/~1301019/212270972/1304021</fs:itemid></item><item><title>在.NET中的线程处理（3）</title><link>http://blog.csdn.net/qin87/archive/2009/02/18/3905947.aspx</link><wfw:comment>http://blog.csdn.net/qin87/comments/3905947.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/qin87/comments/commentRss/3905947.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3905947</trackback:ping><description>使用异步 I/O 完成事件，线程池中的线程将只在收到数据时对数据进行处理，一旦处理完数据，该线程就会返回到线程池中。若要进行异步 I/O 调用，必须将操作系统 I/O 句柄与线程池相关联，并且必须指定一个回调方法。当 I/O 操作完成后，线程池中的线程将调用该回调方法。下面的 C# 代码示例说明了一个简单的异步 I/O 操作。注意 该示例需要 100MB 以上的可用内存。&lt;img src =&quot;http://blog.csdn.net/qin87/aggbug/3905947.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Wed, 18 Feb 2009 23:28:00 +0800</pubDate><author>daisy</author><comments>http://blog.csdn.net/qin87/archive/2009/02/18/3905947.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/qin87/archive/2009/02/18/3905947.aspx</guid><dc:creator>daisy</dc:creator><fs:srclink>http://blog.csdn.net/qin87/archive/2009/02/18/3905947.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/qin87/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/qin87/~1301019/212270973/1304021</fs:itemid></item><item><title>在.NET中的线程处理(4)</title><link>http://blog.csdn.net/qin87/archive/2009/02/18/3905953.aspx</link><wfw:comment>http://blog.csdn.net/qin87/comments/3905953.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/qin87/comments/commentRss/3905953.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3905953</trackback:ping><description>计时器是使您能够指定要在指定时间调用的委托的轻量对象。线程池中的线程执行等待操作。

使用 Timer 类是非常简单的。需要创建一个 Timer（通过将 TimerCallback 委托传递到回调方法）、一个表示将被传递给回调的状态的对象、初始引发时间以及表示回调调用之间的时间段的时间。若要取消挂起的计时器，请调用 Timer.Dispose 函数。

注意 还有 System.Windows.Forms.Timer 类。该类是基于操作系统计时器支持的，如果您没有在线程上发送消息，则计时器将不会出现。这就使得 System.Threading.Timer 在许多情况下更为有用。

下面的简单代码示例说明了 Timer 的使用。

&lt;img src =&quot;http://blog.csdn.net/qin87/aggbug/3905953.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Wed, 18 Feb 2009 23:28:00 +0800</pubDate><author>daisy</author><comments>http://blog.csdn.net/qin87/archive/2009/02/18/3905953.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/qin87/archive/2009/02/18/3905953.aspx</guid><dc:creator>daisy</dc:creator><fs:srclink>http://blog.csdn.net/qin87/archive/2009/02/18/3905953.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/qin87/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/qin87/~1301019/212270974/1304021</fs:itemid></item><item><title>在.NET中的线程处理(2)</title><link>http://blog.csdn.net/qin87/archive/2009/02/18/3905941.aspx</link><wfw:comment>http://blog.csdn.net/qin87/comments/3905941.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/qin87/comments/commentRss/3905941.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3905941</trackback:ping><description>.NET 框架提供了许多有助于您创建和管理多线程应用程序的对象。WaitHandle 对象可以帮助您响应其他线程执行的操作，尤其是在与非托管代码交互操作时。ThreadPool 为大多数任务提供最佳的基本线程创建和管理机制。Monitor、Mutex、Interlocked 和 ReaderWriterLock 提供用于在较低级别上同步执行的机制。Timer 是一种非常灵活的用来以特定时间间隔引发活动的方法，I/O 异步完成使用线程池在 I/O 工作完成后通知您，从而使您可以在此期间去做其他事情。&lt;img src =&quot;http://blog.csdn.net/qin87/aggbug/3905941.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Wed, 18 Feb 2009 23:26:00 +0800</pubDate><author>daisy</author><comments>http://blog.csdn.net/qin87/archive/2009/02/18/3905941.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/qin87/archive/2009/02/18/3905941.aspx</guid><dc:creator>daisy</dc:creator><fs:srclink>http://blog.csdn.net/qin87/archive/2009/02/18/3905941.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/qin87/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/qin87/~1301019/212270975/1304021</fs:itemid></item><item><title>在.NET中的线程处理(1)</title><link>http://blog.csdn.net/qin87/archive/2009/02/18/3905936.aspx</link><wfw:comment>http://blog.csdn.net/qin87/comments/3905936.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/qin87/comments/commentRss/3905936.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3905936</trackback:ping><description>线程相关的静态字段
如果您知道某类型的字段应总是某个线程和应用程序域组合所独有的，则使用 ThreadStaticAttribute 修饰静态字段。需要注意的是，任何类构造函数代码都将在访问该字段的第一个上下文中的第一个线程上运行。在所有其他线程或上下文中，该字段将被初始化为 null（在 Visual Basic 中为 Nothing）。因此，您不应依赖于类构造函数来初始化线程相关的静态字段。而应总是假定线程相关的静态字段被初始化为 null (Nothing)。
&lt;img src =&quot;http://blog.csdn.net/qin87/aggbug/3905936.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Wed, 18 Feb 2009 23:25:00 +0800</pubDate><author>daisy</author><comments>http://blog.csdn.net/qin87/archive/2009/02/18/3905936.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/qin87/archive/2009/02/18/3905936.aspx</guid><dc:creator>daisy</dc:creator><fs:srclink>http://blog.csdn.net/qin87/archive/2009/02/18/3905936.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/qin87/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/qin87/~1301019/212270976/1304021</fs:itemid></item><item><title>自动内存管理机制深入剖析-C#分析篇</title><link>http://blog.csdn.net/qin87/archive/2009/02/18/3905926.aspx</link><wfw:comment>http://blog.csdn.net/qin87/comments/3905926.aspx</wfw:comment><slash:comments>1</slash:comments><wfw:commentRss>http://blog.csdn.net/qin87/comments/commentRss/3905926.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3905926</trackback:ping><description>在.NET Framework中,内存中的资源(即所有二进制信息的集合)分为&quot;托管资源&quot;和&quot;非托管资源&quot;.托管资源必须接受.NET Framework的CLR(通用语言运行时)的管理(诸如内存类型安全性检查),而非托管资源则不必接受.NET Framework的CLR管理. (了解更多区别请参阅.NET Framework或C#的高级编程资料)

&lt;img src =&quot;http://blog.csdn.net/qin87/aggbug/3905926.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Wed, 18 Feb 2009 23:23:00 +0800</pubDate><author>daisy</author><comments>http://blog.csdn.net/qin87/archive/2009/02/18/3905926.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/qin87/archive/2009/02/18/3905926.aspx</guid><dc:creator>daisy</dc:creator><fs:srclink>http://blog.csdn.net/qin87/archive/2009/02/18/3905926.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/qin87/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/qin87/~1301019/212270977/1304021</fs:itemid></item><item><title>优化ASP.NET应用程序性能研究与探讨</title><link>http://blog.csdn.net/qin87/archive/2009/02/18/3905920.aspx</link><wfw:comment>http://blog.csdn.net/qin87/comments/3905920.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/qin87/comments/commentRss/3905920.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3905920</trackback:ping><description>&lt;br /&gt;摘 要 本文从页面、数据访问、字符串操作三方面探讨如何提高ASP.NET应用程序的性能，并提供了几种测试工具用于检测ASP.NET网站性能。&lt;br /&gt;&lt;br /&gt;关键词 ASP.NET 应用程序 性能 优化 &lt;br /&gt;&lt;br /&gt;　　网站的性能对于ASP.NET程序开发人员来说非常重要。一个优秀的网站虽然有美观的页面设计，完善的服务功能，但是打开网页时有长时间的延迟，用户最终将会无法忍受。尤其对于大型的电子商务网站而言，每秒钟有数万用户同时访问，没有良好的网站性能，根本无法满足庞大的需求。&lt;br /&gt;&lt;br /&gt;　　ASP.NET作为全新一代的动态网页生成系统，它在平台性能方面与原有的ASP相比已有了一个本质的提高。但要在此基础上开发出专业水准的、符合生产标准的、受用户欢迎的web应用程序，还需要开发人员从编程的角度在页面、数据访问和字符串处理等各方面进行优化处理，以提高网站的总体性能。&lt;br /&gt;&lt;br /&gt;　　本文将主要探讨在ASP.NET中与此相关的几种进行性能优化的方法及注意问题。&lt;br /&gt;&lt;br /&gt;页面性能优化&lt;br /&gt;&lt;br /&gt;　　1、会话状态的恰当&lt;img src =&quot;http://blog.csdn.net/qin87/aggbug/3905920.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Wed, 18 Feb 2009 23:22:00 +0800</pubDate><author>daisy</author><comments>http://blog.csdn.net/qin87/archive/2009/02/18/3905920.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/qin87/archive/2009/02/18/3905920.aspx</guid><dc:creator>daisy</dc:creator><fs:srclink>http://blog.csdn.net/qin87/archive/2009/02/18/3905920.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/qin87/rss.aspx</fs:srcfeed><fs:itemid>csdn.net/qin87/~1301019/212270978/1304021</fs:itemid></item></channel></rss>