<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>“Soft Binary” 的评论</title>
	<atom:link href="http://www.soft-bin.com/comments/feed" rel="self" type="application/rss+xml" />
	<link>http://www.soft-bin.com</link>
	<description>http://www.soft-bin.com</description>
	<lastBuildDate>Fri, 15 Oct 2010 09:26:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>finalday 关于 多进程vs多线程，一个存在争论的话题 的评论</title>
		<link>http://www.soft-bin.com/html/2010/07/09/%e5%a4%9a%e8%bf%9b%e7%a8%8bvs%e5%a4%9a%e7%ba%bf%e7%a8%8b%ef%bc%8c%e4%b8%80%e4%b8%aa%e9%95%bf%e6%9c%9f%e7%9a%84%e4%ba%89%e8%ae%ba.html/comment-page-1#comment-712</link>
		<dc:creator>finalday</dc:creator>
		<pubDate>Fri, 15 Oct 2010 09:26:12 +0000</pubDate>
		<guid isPermaLink="false">http://173.83.110.166/?p=112#comment-712</guid>
		<description>忍不住跳出来说，作者对并发编程的理解还不行。
比如说锁的问题，说得好像是多线程才需要的东西一样。如果一个应用多进程时完全不用锁，多线程也就多一个轻量级锁——锁一下，各回各家，每个线程用自己的专有存储，之后不就和多进程一样了？这样会被搞得很郁闷？当然不会。所以说明那个应用对于数据共享的需求不是这么简单，既然不是这么简单，多进程程序一样要加锁。多进程的加解锁代价可比多线程大得多了，共享数据和协作也麻烦多了。
多线程编程难不难？难，但这是由于并发本身的难度引起的。“锁”，“安全编程”不管是多线程还是多进程都一样会遇到。
多线程的最大优点是数据共享和协作方便。
多进程的最大优点是挂了一个进程不会影响其他进程，资源也不会泄露，故比较能容忍程序员犯错。
至于两者裸奔比性能，真的没啥意义。</description>
		<content:encoded><![CDATA[<p>忍不住跳出来说，作者对并发编程的理解还不行。<br />
比如说锁的问题，说得好像是多线程才需要的东西一样。如果一个应用多进程时完全不用锁，多线程也就多一个轻量级锁——锁一下，各回各家，每个线程用自己的专有存储，之后不就和多进程一样了？这样会被搞得很郁闷？当然不会。所以说明那个应用对于数据共享的需求不是这么简单，既然不是这么简单，多进程程序一样要加锁。多进程的加解锁代价可比多线程大得多了，共享数据和协作也麻烦多了。<br />
多线程编程难不难？难，但这是由于并发本身的难度引起的。“锁”，“安全编程”不管是多线程还是多进程都一样会遇到。<br />
多线程的最大优点是数据共享和协作方便。<br />
多进程的最大优点是挂了一个进程不会影响其他进程，资源也不会泄露，故比较能容忍程序员犯错。<br />
至于两者裸奔比性能，真的没啥意义。</p>
]]></content:encoded>
	</item>
	<item>
		<title>rjoo 关于 多进程vs多线程，一个存在争论的话题 的评论</title>
		<link>http://www.soft-bin.com/html/2010/07/09/%e5%a4%9a%e8%bf%9b%e7%a8%8bvs%e5%a4%9a%e7%ba%bf%e7%a8%8b%ef%bc%8c%e4%b8%80%e4%b8%aa%e9%95%bf%e6%9c%9f%e7%9a%84%e4%ba%89%e8%ae%ba.html/comment-page-1#comment-79</link>
		<dc:creator>rjoo</dc:creator>
		<pubDate>Wed, 29 Sep 2010 05:41:03 +0000</pubDate>
		<guid isPermaLink="false">http://173.83.110.166/?p=112#comment-79</guid>
		<description>&lt;a href=&quot;#comment-67&quot; rel=&quot;nofollow&quot;&gt;@admin &lt;/a&gt; 
Linux下没有线程的概念，pthread线程实质是通过轻量级进程实现的---这是2.4内核以前的情况（实际上是2.0时引入的，那可实在是太久了），2.4内核引入NGPL，2.6内核线程支持改为NPTL。NPTL实现的是1：1的线程模型（有资料说Win也是这种实现，虽然不太确定，但我觉得可能性很大），而NGPT虽然是理论上最先进的m：n线程模型，但最后实现出来的性能差NPTL一大截，最后被抛弃。看看文中说法就知道要么文章写的很早，要么作者看了一堆十年前的资料。
给个链接：
http://www.kegel.com/c10k.html#threads.linuxthreads</description>
		<content:encoded><![CDATA[<p><a href="#comment-67" rel="nofollow">@admin </a><br />
Linux下没有线程的概念，pthread线程实质是通过轻量级进程实现的&#8212;这是2.4内核以前的情况（实际上是2.0时引入的，那可实在是太久了），2.4内核引入NGPL，2.6内核线程支持改为NPTL。NPTL实现的是1：1的线程模型（有资料说Win也是这种实现，虽然不太确定，但我觉得可能性很大），而NGPT虽然是理论上最先进的m：n线程模型，但最后实现出来的性能差NPTL一大截，最后被抛弃。看看文中说法就知道要么文章写的很早，要么作者看了一堆十年前的资料。<br />
给个链接：<br />
<a href="http://www.kegel.com/c10k.html#threads.linuxthreads" rel="nofollow">http://www.kegel.com/c10k.html#threads.linuxthreads</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>电子所 关于 Windows 下的进程及其退出方式 的评论</title>
		<link>http://www.soft-bin.com/html/2010/07/31/process_in_windows.html/comment-page-1#comment-75</link>
		<dc:creator>电子所</dc:creator>
		<pubDate>Sun, 12 Sep 2010 14:45:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.soft-bin.com/?p=345#comment-75</guid>
		<description>呵呵，师兄谦虚了~
微软的系统看不到源代码，之前听说泄露过一次，我也没有机会能找到，windows的东东我就不敢乱说了，而linux系统可以看到源代码，有了代码很多事情就好说了，但是看了之后我也没能做到给进程下一个定义，首先定义本身分两种，一种是种类加属差的定义模式，譬如集合论和生物的界门纲目科属种，还有就是微积分发明是的描述性定义，譬如极限的定义，描述性定义开启了定义的新时代以及新领域。进程的定义我觉得用描述性定义更合适，但是在linux中的进程就遇到了问题，那就是进程0的问题，0号进程是谁创建的，如何给0号进程下一个定义，所以因为0号进程的问题，我对进程的理解就出现了很多困惑，譬如为什么要这样设计进程，为什么不能像师兄说的像类和对象一样创建进程？如果可以的话，会对操作系统带来多么大的影响？是正面的还是负面的？甚至是革命性的？有没有人尝试过用类和对象的思想构建进程体系？我觉得如果能从代码中突破这些问题，或许国人能尝试做出一套自己的系统，甚至更牛X~嘿嘿</description>
		<content:encoded><![CDATA[<p>呵呵，师兄谦虚了~<br />
微软的系统看不到源代码，之前听说泄露过一次，我也没有机会能找到，windows的东东我就不敢乱说了，而linux系统可以看到源代码，有了代码很多事情就好说了，但是看了之后我也没能做到给进程下一个定义，首先定义本身分两种，一种是种类加属差的定义模式，譬如集合论和生物的界门纲目科属种，还有就是微积分发明是的描述性定义，譬如极限的定义，描述性定义开启了定义的新时代以及新领域。进程的定义我觉得用描述性定义更合适，但是在linux中的进程就遇到了问题，那就是进程0的问题，0号进程是谁创建的，如何给0号进程下一个定义，所以因为0号进程的问题，我对进程的理解就出现了很多困惑，譬如为什么要这样设计进程，为什么不能像师兄说的像类和对象一样创建进程？如果可以的话，会对操作系统带来多么大的影响？是正面的还是负面的？甚至是革命性的？有没有人尝试过用类和对象的思想构建进程体系？我觉得如果能从代码中突破这些问题，或许国人能尝试做出一套自己的系统，甚至更牛X~嘿嘿</p>
]]></content:encoded>
	</item>
	<item>
		<title>luckzj 关于 Windows 下的进程及其退出方式 的评论</title>
		<link>http://www.soft-bin.com/html/2010/07/31/process_in_windows.html/comment-page-1#comment-74</link>
		<dc:creator>luckzj</dc:creator>
		<pubDate>Sun, 12 Sep 2010 13:44:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.soft-bin.com/?p=345#comment-74</guid>
		<description>呵呵，你的理解的确很深入 ^_^ 我这种说法的确有些欠妥。
Linux下创建进程，都是通过fork，然后在fork出来的子进程当中，使用exec将程序代码拷贝到新的进程的地址空间中，覆盖原有的程序代码。  如果把fork和exec看做一体的话，那么创建出来的进程就可以认为是程序的一个实例了 ^_^

Windows 下创建进程的方式和linux有些不大一样，使用CreateProcess调用创建进程时，就直接将新的程序的代码和数据直接考入了创建的进程当中。</description>
		<content:encoded><![CDATA[<p>呵呵，你的理解的确很深入 ^_^ 我这种说法的确有些欠妥。<br />
Linux下创建进程，都是通过fork，然后在fork出来的子进程当中，使用exec将程序代码拷贝到新的进程的地址空间中，覆盖原有的程序代码。  如果把fork和exec看做一体的话，那么创建出来的进程就可以认为是程序的一个实例了 ^_^</p>
<p>Windows 下创建进程的方式和linux有些不大一样，使用CreateProcess调用创建进程时，就直接将新的程序的代码和数据直接考入了创建的进程当中。</p>
]]></content:encoded>
	</item>
	<item>
		<title>电子所 关于 多进程编程之进程间通信 IPC 的评论</title>
		<link>http://www.soft-bin.com/html/2010/08/03/ipc.html/comment-page-1#comment-73</link>
		<dc:creator>电子所</dc:creator>
		<pubDate>Sun, 12 Sep 2010 10:29:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.soft-bin.com/?p=366#comment-73</guid>
		<description>IPC问题是操作系统最核心的问题，这是个问题的根源于操作系统设计之初，机制性的阐述以及代码并不能让人真正明白什么事IPC，要想说清楚这一块，必须要有实际的例子，而这些例子最好以这样的顺序展开比较合理，第一个例子是一个进程在内存中是怎么玩的，这个时候是最简单的即没有通信的情况，整个内存都归这个进程，这种情况能否说清楚，第二个例子是只有两个进程该怎么玩，这就比第一个复杂了，第三个例子是三个进程怎么玩，第四个例子是多进程怎么玩，这几个例子就是操作系统进程的真是玩法，说清楚了这些，再说机制，师弟觉得就是锦上添花了~</description>
		<content:encoded><![CDATA[<p>IPC问题是操作系统最核心的问题，这是个问题的根源于操作系统设计之初，机制性的阐述以及代码并不能让人真正明白什么事IPC，要想说清楚这一块，必须要有实际的例子，而这些例子最好以这样的顺序展开比较合理，第一个例子是一个进程在内存中是怎么玩的，这个时候是最简单的即没有通信的情况，整个内存都归这个进程，这种情况能否说清楚，第二个例子是只有两个进程该怎么玩，这就比第一个复杂了，第三个例子是三个进程怎么玩，第四个例子是多进程怎么玩，这几个例子就是操作系统进程的真是玩法，说清楚了这些，再说机制，师弟觉得就是锦上添花了~</p>
]]></content:encoded>
	</item>
	<item>
		<title>电子所 关于 Linux 信号处理 的评论</title>
		<link>http://www.soft-bin.com/html/2010/08/21/linux-signal.html/comment-page-1#comment-72</link>
		<dc:creator>电子所</dc:creator>
		<pubDate>Sun, 12 Sep 2010 10:02:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.soft-bin.com/?p=418#comment-72</guid>
		<description>linux下的信号处理，我觉得上面说的层面比较高，看完之后觉得心里面还是没底，要是上面说的稍微配上一下源代码，就不会那么抽象了。
linux系统凡是遇到情况需要处理的，都要以文件的形式打包，所以信号和管道都是一种文件，至于打包成了文件之后如何处理，那就是一套管理机制了，这套机制也正是操作系统最核心的部分，没有代码和图解，只靠文字是很难说清楚的~</description>
		<content:encoded><![CDATA[<p>linux下的信号处理，我觉得上面说的层面比较高，看完之后觉得心里面还是没底，要是上面说的稍微配上一下源代码，就不会那么抽象了。<br />
linux系统凡是遇到情况需要处理的，都要以文件的形式打包，所以信号和管道都是一种文件，至于打包成了文件之后如何处理，那就是一套管理机制了，这套机制也正是操作系统最核心的部分，没有代码和图解，只靠文字是很难说清楚的~</p>
]]></content:encoded>
	</item>
	<item>
		<title>电子所 关于 Windows 下的进程及其退出方式 的评论</title>
		<link>http://www.soft-bin.com/html/2010/07/31/process_in_windows.html/comment-page-1#comment-71</link>
		<dc:creator>电子所</dc:creator>
		<pubDate>Sun, 12 Sep 2010 09:55:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.soft-bin.com/?p=345#comment-71</guid>
		<description>师兄好，我刚师兄写到了进程，就读了一下上面的文章。
我对“所谓的进程，就是硬盘上的程序的一个实例。通俗点来讲，进程就是被激活了，在操作系统中运行的程序。这就好像类和对象的概念。对象就是类的实例。”这句话的理解和师兄的有点不同。
我知道linux中的进程是通过调用fork函数来实现进程的创建的，而创建的本质是子进程对父进程的拷贝，加入把类和对象的关系叫做类机制，那么类是对象的一种抽象，类创造的对象可以不一样。进程很像对象，但不像类，因为类是抽象，进程是具有自己数据区代码区和栈区的实体，所以进程可以理解为对象。如果把对象复制对象的关系称作对象机制的话，那么子进程对父进程的拷贝，就不是类和对象的概念了，而是对象拷贝对象的机制。
而我记得linux的玩法是首先操作系统自创建进程0，然后进程1拷贝进程0，然后貌似后面的进程都是拷贝进程1了，不知道windows是不是这样玩的，但是OS当初都是源于贝尔实验室的Unix，而如今windows仍然在玩中断机制和API，所以我觉得就算windows已经变化很大了，但其内核机制上的变动也不敢说已经面目全非。
师弟的一点看法~</description>
		<content:encoded><![CDATA[<p>师兄好，我刚师兄写到了进程，就读了一下上面的文章。<br />
我对“所谓的进程，就是硬盘上的程序的一个实例。通俗点来讲，进程就是被激活了，在操作系统中运行的程序。这就好像类和对象的概念。对象就是类的实例。”这句话的理解和师兄的有点不同。<br />
我知道linux中的进程是通过调用fork函数来实现进程的创建的，而创建的本质是子进程对父进程的拷贝，加入把类和对象的关系叫做类机制，那么类是对象的一种抽象，类创造的对象可以不一样。进程很像对象，但不像类，因为类是抽象，进程是具有自己数据区代码区和栈区的实体，所以进程可以理解为对象。如果把对象复制对象的关系称作对象机制的话，那么子进程对父进程的拷贝，就不是类和对象的概念了，而是对象拷贝对象的机制。<br />
而我记得linux的玩法是首先操作系统自创建进程0，然后进程1拷贝进程0，然后貌似后面的进程都是拷贝进程1了，不知道windows是不是这样玩的，但是OS当初都是源于贝尔实验室的Unix，而如今windows仍然在玩中断机制和API，所以我觉得就算windows已经变化很大了，但其内核机制上的变动也不敢说已经面目全非。<br />
师弟的一点看法~</p>
]]></content:encoded>
	</item>
	<item>
		<title>定时 关于 多进程vs多线程，一个存在争论的话题 的评论</title>
		<link>http://www.soft-bin.com/html/2010/07/09/%e5%a4%9a%e8%bf%9b%e7%a8%8bvs%e5%a4%9a%e7%ba%bf%e7%a8%8b%ef%bc%8c%e4%b8%80%e4%b8%aa%e9%95%bf%e6%9c%9f%e7%9a%84%e4%ba%89%e8%ae%ba.html/comment-page-1#comment-69</link>
		<dc:creator>定时</dc:creator>
		<pubDate>Thu, 09 Sep 2010 09:44:06 +0000</pubDate>
		<guid isPermaLink="false">http://173.83.110.166/?p=112#comment-69</guid>
		<description>你说的锁，我确实不太了解，但是我们leader对它很了解，就是最近的一个项目，锁搞得他很郁闷，他也终于同意我的关键，尽可能不用多线程。
&lt;a href=&quot;#comment-64&quot; rel=&quot;nofollow&quot;&gt;@rjoo  &lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>你说的锁，我确实不太了解，但是我们leader对它很了解，就是最近的一个项目，锁搞得他很郁闷，他也终于同意我的关键，尽可能不用多线程。<br />
<a href="#comment-64" rel="nofollow">@rjoo  </a></p>
]]></content:encoded>
	</item>
	<item>
		<title>定时 关于 多进程vs多线程，一个存在争论的话题 的评论</title>
		<link>http://www.soft-bin.com/html/2010/07/09/%e5%a4%9a%e8%bf%9b%e7%a8%8bvs%e5%a4%9a%e7%ba%bf%e7%a8%8b%ef%bc%8c%e4%b8%80%e4%b8%aa%e9%95%bf%e6%9c%9f%e7%9a%84%e4%ba%89%e8%ae%ba.html/comment-page-1#comment-68</link>
		<dc:creator>定时</dc:creator>
		<pubDate>Thu, 09 Sep 2010 09:40:45 +0000</pubDate>
		<guid isPermaLink="false">http://173.83.110.166/?p=112#comment-68</guid>
		<description>我们组的最近项目的经验告诉我们能用多进程不用多线程，多线程安全编程难，而且锁会早成效率很低，甚至不如单线程，你说的NPTL我知道，他只是多线程优化了并不能改变多线程安全编程的问题，锁的问题。谢谢指教，实践出真知。
&lt;a href=&quot;#comment-63&quot; rel=&quot;nofollow&quot;&gt;@rjoo  &lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>我们组的最近项目的经验告诉我们能用多进程不用多线程，多线程安全编程难，而且锁会早成效率很低，甚至不如单线程，你说的NPTL我知道，他只是多线程优化了并不能改变多线程安全编程的问题，锁的问题。谢谢指教，实践出真知。<br />
<a href="#comment-63" rel="nofollow">@rjoo  </a></p>
]]></content:encoded>
	</item>
	<item>
		<title>admin 关于 多进程vs多线程，一个存在争论的话题 的评论</title>
		<link>http://www.soft-bin.com/html/2010/07/09/%e5%a4%9a%e8%bf%9b%e7%a8%8bvs%e5%a4%9a%e7%ba%bf%e7%a8%8b%ef%bc%8c%e4%b8%80%e4%b8%aa%e9%95%bf%e6%9c%9f%e7%9a%84%e4%ba%89%e8%ae%ba.html/comment-page-1#comment-67</link>
		<dc:creator>admin</dc:creator>
		<pubDate>Thu, 09 Sep 2010 09:28:29 +0000</pubDate>
		<guid isPermaLink="false">http://173.83.110.166/?p=112#comment-67</guid>
		<description>rjoo挺热心的，呵呵，这篇文章不是我写的，但有几个地方我可以解答一下：

1. Linux下没有线程的概念，pthread线程实质是通过轻量级进程实现的。你说瓶颈在IO，这一点我很赞同你的意见，作者如果能再写个IO操作的文章来的话就会更好了。

2. mutex和critical section的确是不能比的。一个涉及到内核，一个没有涉及到内核。呵呵，很佩服你对这些东西的掌握程度，有机会多交流。

^_^</description>
		<content:encoded><![CDATA[<p>rjoo挺热心的，呵呵，这篇文章不是我写的，但有几个地方我可以解答一下：</p>
<p>1. Linux下没有线程的概念，pthread线程实质是通过轻量级进程实现的。你说瓶颈在IO，这一点我很赞同你的意见，作者如果能再写个IO操作的文章来的话就会更好了。</p>
<p>2. mutex和critical section的确是不能比的。一个涉及到内核，一个没有涉及到内核。呵呵，很佩服你对这些东西的掌握程度，有机会多交流。</p>
<p>^_^</p>
]]></content:encoded>
	</item>
</channel>
</rss>

