﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><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://www.cnblogs.com/lucifer1982/</link><description /><language>zh-cn</language><lastBuildDate>Wed, 20 Aug 2008 12:25:08 GMT</lastBuildDate><pubDate>Wed, 20 Aug 2008 12:25:08 GMT</pubDate><ttl>60</ttl><item><title>并行思维 [I]</title><link>http://www.cnblogs.com/lucifer1982/archive/2008/07/19/1246508.html</link><dc:creator>Angel Lucifer</dc:creator><author>Angel Lucifer</author><pubDate>Sat, 19 Jul 2008 03:24:00 GMT</pubDate><guid>http://www.cnblogs.com/lucifer1982/archive/2008/07/19/1246508.html</guid><wfw:comment>http://www.cnblogs.com/lucifer1982/comments/1246508.html</wfw:comment><comments>http://www.cnblogs.com/lucifer1982/archive/2008/07/19/1246508.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cnblogs.com/lucifer1982/comments/commentRss/1246508.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/lucifer1982/services/trackbacks/1246508.html</trackback:ping><description><![CDATA[摘要: 每个软件开发人员都不得不面对并行编程。以前以及现在，我们在完成任务时，首先会考虑选择最佳算法，实现语言等。但现在我们必须首先考虑任务的内在并行性。而这反过来又会影响我们对算法和实现的抉择。如果试着在最后考虑并行，还不如不要思考并行。程序也不能很好的工作。&nbsp;&nbsp;<a href='http://www.cnblogs.com/lucifer1982/archive/2008/07/19/1246508.html'>阅读全文</a><img src ="http://www.cnblogs.com/lucifer1982/aggbug/1246508.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41804/" target="_blank">[新闻]Google云计算服务系统本周严重崩溃</a>]]></description></item><item><title>数据结构 : Hash Table [II]</title><link>http://www.cnblogs.com/lucifer1982/archive/2008/07/03/1234431.html</link><dc:creator>Angel Lucifer</dc:creator><author>Angel Lucifer</author><pubDate>Wed, 02 Jul 2008 21:35:00 GMT</pubDate><guid>http://www.cnblogs.com/lucifer1982/archive/2008/07/03/1234431.html</guid><wfw:comment>http://www.cnblogs.com/lucifer1982/comments/1234431.html</wfw:comment><comments>http://www.cnblogs.com/lucifer1982/archive/2008/07/03/1234431.html#Feedback</comments><slash:comments>13</slash:comments><wfw:commentRss>http://www.cnblogs.com/lucifer1982/comments/commentRss/1234431.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/lucifer1982/services/trackbacks/1234431.html</trackback:ping><description><![CDATA[摘要: Hash Table 给我们带来了 O(1) 的插入，删除和查找性能。 <br>我们应当如何使用？ <br>它实现的原理是什么？ <br>又该如何实现呢？ <br>这篇文章将尝试着对其做出解答。&nbsp;&nbsp;<a href='http://www.cnblogs.com/lucifer1982/archive/2008/07/03/1234431.html'>阅读全文</a><img src ="http://www.cnblogs.com/lucifer1982/aggbug/1234431.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41805/" target="_blank">[新闻]张亚勤一改陈永正做法 微软举报洪磊为推广Vista</a>]]></description></item><item><title>数据结构 : Hash Table [I]</title><link>http://www.cnblogs.com/lucifer1982/archive/2008/06/18/1224319.html</link><dc:creator>Angel Lucifer</dc:creator><author>Angel Lucifer</author><pubDate>Tue, 17 Jun 2008 16:46:00 GMT</pubDate><guid>http://www.cnblogs.com/lucifer1982/archive/2008/06/18/1224319.html</guid><wfw:comment>http://www.cnblogs.com/lucifer1982/comments/1224319.html</wfw:comment><comments>http://www.cnblogs.com/lucifer1982/archive/2008/06/18/1224319.html#Feedback</comments><slash:comments>30</slash:comments><wfw:commentRss>http://www.cnblogs.com/lucifer1982/comments/commentRss/1224319.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/lucifer1982/services/trackbacks/1224319.html</trackback:ping><description><![CDATA[摘要: Hash Table 给我们带来了 O(1) 的插入，删除和查找性能。<br>我们应当如何使用？<br>它实现的原理是什么？<br>又该如何实现呢？<br>这篇文章将尝试着对其做出解答。&nbsp;&nbsp;<a href='http://www.cnblogs.com/lucifer1982/archive/2008/06/18/1224319.html'>阅读全文</a><img src ="http://www.cnblogs.com/lucifer1982/aggbug/1224319.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41802/" target="_blank">[新闻]微软Office 14即将展开Alpha测试</a>]]></description></item><item><title>数据结构 : 堆之外传</title><link>http://www.cnblogs.com/lucifer1982/archive/2008/06/13/1218559.html</link><dc:creator>Angel Lucifer</dc:creator><author>Angel Lucifer</author><pubDate>Thu, 12 Jun 2008 19:23:00 GMT</pubDate><guid>http://www.cnblogs.com/lucifer1982/archive/2008/06/13/1218559.html</guid><wfw:comment>http://www.cnblogs.com/lucifer1982/comments/1218559.html</wfw:comment><comments>http://www.cnblogs.com/lucifer1982/archive/2008/06/13/1218559.html#Feedback</comments><slash:comments>19</slash:comments><wfw:commentRss>http://www.cnblogs.com/lucifer1982/comments/commentRss/1218559.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/lucifer1982/services/trackbacks/1218559.html</trackback:ping><description><![CDATA[摘要: 优先级队列是仅允许访问最小项的基本数据结构。<br>这篇文章将讨论支持优先级队列数据结构的一种实现，即著名的二叉堆（Binary Heap）。<br>如无特别提及，本文均简称其为堆。<br>堆支持最坏情况对对数时间的新项插入和最小项删除，而具体实现则使用我们最熟知的数组。&nbsp;&nbsp;<a href='http://www.cnblogs.com/lucifer1982/archive/2008/06/13/1218559.html'>阅读全文</a><img src ="http://www.cnblogs.com/lucifer1982/aggbug/1218559.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41801/" target="_blank">[新闻]《星际争霸2》新图</a>]]></description></item><item><title>并发数据结构 : SpinWait</title><link>http://www.cnblogs.com/lucifer1982/archive/2008/06/01/1211471.html</link><dc:creator>Angel Lucifer</dc:creator><author>Angel Lucifer</author><pubDate>Sat, 31 May 2008 18:20:00 GMT</pubDate><guid>http://www.cnblogs.com/lucifer1982/archive/2008/06/01/1211471.html</guid><wfw:comment>http://www.cnblogs.com/lucifer1982/comments/1211471.html</wfw:comment><comments>http://www.cnblogs.com/lucifer1982/archive/2008/06/01/1211471.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.cnblogs.com/lucifer1982/comments/commentRss/1211471.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/lucifer1982/services/trackbacks/1211471.html</trackback:ping><description><![CDATA[摘要: 老实说，没有哪个开发人员愿意在其编码时还要考虑线程同步。更糟糕的情况是，编写线程同步代码一点也不好玩。稍一不慎，就会导致共享资源状态不一致，从而引发程序未预期行为。此外，当我们添加线程同步代码时还会导致程序运行变慢，损害性能和可伸缩性。从这点上来看，线程同步简直一无是处。可惜，这也是现实生活中必要的一部分。尤其在多核CPU成为主流的今天。&nbsp;&nbsp;<a href='http://www.cnblogs.com/lucifer1982/archive/2008/06/01/1211471.html'>阅读全文</a><img src ="http://www.cnblogs.com/lucifer1982/aggbug/1211471.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41800/" target="_blank">[新闻]Google放出Android开发路线图</a>]]></description></item><item><title>并发数据结构:Stack</title><link>http://www.cnblogs.com/lucifer1982/archive/2008/04/24/1168483.html</link><dc:creator>Angel Lucifer</dc:creator><author>Angel Lucifer</author><pubDate>Wed, 23 Apr 2008 18:52:00 GMT</pubDate><guid>http://www.cnblogs.com/lucifer1982/archive/2008/04/24/1168483.html</guid><wfw:comment>http://www.cnblogs.com/lucifer1982/comments/1168483.html</wfw:comment><comments>http://www.cnblogs.com/lucifer1982/archive/2008/04/24/1168483.html#Feedback</comments><slash:comments>17</slash:comments><wfw:commentRss>http://www.cnblogs.com/lucifer1982/comments/commentRss/1168483.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/lucifer1982/services/trackbacks/1168483.html</trackback:ping><description><![CDATA[摘要: Stack是一种线性数据结构，只能访问它的一端来存储或读取数据。Stack很像餐厅中的一叠盘子：将新盘子堆在最上面，并从最上面取走盘子。最后一个堆在上面的盘子第一个被取走。因此Stack也被称为后进先出结构(LIFO)。&nbsp;&nbsp;<a href='http://www.cnblogs.com/lucifer1982/archive/2008/04/24/1168483.html'>阅读全文</a><img src ="http://www.cnblogs.com/lucifer1982/aggbug/1168483.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41799/" target="_blank">[新闻]番茄花园作者被警方逮捕</a>]]></description></item><item><title>并发数据结构:迷人的原子</title><link>http://www.cnblogs.com/lucifer1982/archive/2008/04/16/1154727.html</link><dc:creator>Angel Lucifer</dc:creator><author>Angel Lucifer</author><pubDate>Wed, 16 Apr 2008 07:10:00 GMT</pubDate><guid>http://www.cnblogs.com/lucifer1982/archive/2008/04/16/1154727.html</guid><wfw:comment>http://www.cnblogs.com/lucifer1982/comments/1154727.html</wfw:comment><comments>http://www.cnblogs.com/lucifer1982/archive/2008/04/16/1154727.html#Feedback</comments><slash:comments>19</slash:comments><wfw:commentRss>http://www.cnblogs.com/lucifer1982/comments/commentRss/1154727.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/lucifer1982/services/trackbacks/1154727.html</trackback:ping><description><![CDATA[摘要: 随着多核CPU成为主流，并行程序设计亦成为研究领域的热门。Lock-Free编程无疑是其中的一朵奇葩。&nbsp;&nbsp;<a href='http://www.cnblogs.com/lucifer1982/archive/2008/04/16/1154727.html'>阅读全文</a><img src ="http://www.cnblogs.com/lucifer1982/aggbug/1154727.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41792/" target="_blank">[新闻]WordPress和Movable Type影响社交网站的未来</a>]]></description></item><item><title>并发数据结构:谈谈volatile变量</title><link>http://www.cnblogs.com/lucifer1982/archive/2008/03/23/1116981.html</link><dc:creator>Angel Lucifer</dc:creator><author>Angel Lucifer</author><pubDate>Sun, 23 Mar 2008 15:23:00 GMT</pubDate><guid>http://www.cnblogs.com/lucifer1982/archive/2008/03/23/1116981.html</guid><wfw:comment>http://www.cnblogs.com/lucifer1982/comments/1116981.html</wfw:comment><comments>http://www.cnblogs.com/lucifer1982/archive/2008/03/23/1116981.html#Feedback</comments><slash:comments>21</slash:comments><wfw:commentRss>http://www.cnblogs.com/lucifer1982/comments/commentRss/1116981.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/lucifer1982/services/trackbacks/1116981.html</trackback:ping><description><![CDATA[摘要: C#编译器提供了volatile关键字，该关键字可以用于下述类型的静态/实例字段：byte，sbyte，short，ushort，int，uint，char，float和bool。此外，我们还可以将volatile关键字应用于引用类型以及枚举类型的基础类型是byte，sbyte，short，ushot，int，uint，float和bool的枚举字段。volatile关键字告诉C#和JIT编译器不再在CPU寄存器中缓存字段，从而确保字段的所有读写操作都是对内存的读写，JIT编译器则确保其语义正确，这样就不必显式调用Thread的静态方法VolatileXXX了。<br><br>&nbsp;&nbsp;<a href='http://www.cnblogs.com/lucifer1982/archive/2008/03/23/1116981.html'>阅读全文</a><img src ="http://www.cnblogs.com/lucifer1982/aggbug/1116981.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41791/" target="_blank">[新闻]谷歌平台手机获准上市</a>]]></description></item><item><title>CLR 2.0 Memory Model</title><link>http://www.cnblogs.com/lucifer1982/archive/2008/03/16/1108456.html</link><dc:creator>Angel Lucifer</dc:creator><author>Angel Lucifer</author><pubDate>Sun, 16 Mar 2008 07:16:00 GMT</pubDate><guid>http://www.cnblogs.com/lucifer1982/archive/2008/03/16/1108456.html</guid><wfw:comment>http://www.cnblogs.com/lucifer1982/comments/1108456.html</wfw:comment><comments>http://www.cnblogs.com/lucifer1982/archive/2008/03/16/1108456.html#Feedback</comments><slash:comments>16</slash:comments><wfw:commentRss>http://www.cnblogs.com/lucifer1982/comments/commentRss/1108456.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/lucifer1982/services/trackbacks/1108456.html</trackback:ping><description><![CDATA[摘要: 内存模型对于任何编程语言的多线程并发/并行编程都是很重要的部分，发布这篇文章的目的在于为以后描述.NET多线程并发/并行编程做底层基础，尤其是在理解Lock-Free算法时。&nbsp;&nbsp;<a href='http://www.cnblogs.com/lucifer1982/archive/2008/03/16/1108456.html'>阅读全文</a><img src ="http://www.cnblogs.com/lucifer1982/aggbug/1108456.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41790/" target="_blank">[新闻]微软自称传媒公司 强调搜索引擎三大趋势</a>]]></description></item><item><title>关于无锁编程</title><link>http://www.cnblogs.com/lucifer1982/archive/2008/03/16/1108277.html</link><dc:creator>Angel Lucifer</dc:creator><author>Angel Lucifer</author><pubDate>Sun, 16 Mar 2008 04:09:00 GMT</pubDate><guid>http://www.cnblogs.com/lucifer1982/archive/2008/03/16/1108277.html</guid><wfw:comment>http://www.cnblogs.com/lucifer1982/comments/1108277.html</wfw:comment><comments>http://www.cnblogs.com/lucifer1982/archive/2008/03/16/1108277.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/lucifer1982/comments/commentRss/1108277.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/lucifer1982/services/trackbacks/1108277.html</trackback:ping><description><![CDATA[<p>Lock-free 算法通常比基于锁的算法要好：</p>
<ul>
    <li>从其定义来看，它们是 wait-free 的，可以确保线程永远不会阻塞。
    <li>状态转变是原子性的，以至于在任何点失败都不会恶化数据结构。
    <li>因为线程永远不会阻塞，所以当同步的细粒度是单一原子写或比较交换时，它们通常可以带来更高的吞吐量。
    <li>在某些情况下，lock-free 算法会有更少的同步写操作（比如 Interlocked 操作），因此纯粹从性能来看，它可能更便宜。 </li>
</ul>
<p>但是 lock-freedom 并不是万能药。下面是一些很明显的不利因素：</p>
<ul>
    <li>乐观的并发使用会对 hot data structures 导致 livelock。
    <li>代码需要大量困难的测试。通常其正确性取决于对目标机器内存模型的正确解释。
    <li>基于众多原因，lock-free 代码很难编写和维护。 </li>
</ul>
<img src ="http://www.cnblogs.com/lucifer1982/aggbug/1108277.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41790/" target="_blank">[新闻]微软自称传媒公司 强调搜索引擎三大趋势</a>]]></description></item></channel></rss>