﻿<?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>C++博客-CppExplore-最新评论</title><link>http://www.cppblog.com/CppExplore/CommentsRSS.aspx</link><description>一切像雾像雨又像风</description><language>zh-cn</language><pubDate>Wed, 18 Jun 2008 02:34:11 GMT</pubDate><lastBuildDate>Wed, 18 Jun 2008 02:34:11 GMT</lastBuildDate><generator>cnblogs</generator><item><title>re: 职业之路</title><link>http://www.cppblog.com/CppExplore/archive/2008/06/23/53814.html#54368</link><dc:creator>Hyjune</dc:creator><author>Hyjune</author><pubDate>Mon, 23 Jun 2008 05:49:00 GMT</pubDate><guid>http://www.cppblog.com/CppExplore/archive/2008/06/23/53814.html#54368</guid><description><![CDATA[支持<img src ="http://www.cppblog.com/CppExplore/aggbug/54368.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/CppExplore/" target="_blank">Hyjune</a> 2008-06-23 13:49 <a href="http://www.cppblog.com/CppExplore/archive/2008/06/23/53814.html#54368#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 职业之路</title><link>http://www.cppblog.com/CppExplore/archive/2008/06/20/53814.html#54081</link><dc:creator>true</dc:creator><author>true</author><pubDate>Fri, 20 Jun 2008 00:58:00 GMT</pubDate><guid>http://www.cppblog.com/CppExplore/archive/2008/06/20/53814.html#54081</guid><description><![CDATA[总结得很全面，期待下文！<img src ="http://www.cppblog.com/CppExplore/aggbug/54081.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/CppExplore/" target="_blank">true</a> 2008-06-20 08:58 <a href="http://www.cppblog.com/CppExplore/archive/2008/06/20/53814.html#54081#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 【原创】技术系列之 网络模型（二）[未登录]</title><link>http://www.cppblog.com/CppExplore/archive/2008/06/19/45061.html#53995</link><dc:creator>CppExplore </dc:creator><author>CppExplore </author><pubDate>Thu, 19 Jun 2008 05:26:00 GMT</pubDate><guid>http://www.cppblog.com/CppExplore/archive/2008/06/19/45061.html#53995</guid><description><![CDATA[@Jeff <br>udp也可以啊，模型简单，在一个端口上复用就可以了，没什么可写的。<img src ="http://www.cppblog.com/CppExplore/aggbug/53995.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/CppExplore/" target="_blank">CppExplore </a> 2008-06-19 13:26 <a href="http://www.cppblog.com/CppExplore/archive/2008/06/19/45061.html#53995#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 【原创】技术系列之 网络模型（二）[未登录]</title><link>http://www.cppblog.com/CppExplore/archive/2008/06/19/45061.html#53984</link><dc:creator>Jeff</dc:creator><author>Jeff</author><pubDate>Thu, 19 Jun 2008 04:12:00 GMT</pubDate><guid>http://www.cppblog.com/CppExplore/archive/2008/06/19/45061.html#53984</guid><description><![CDATA[想问一下，不可以用UDP来接收请求数据吗，为什么非要用TCP，UDP不可靠？<img src ="http://www.cppblog.com/CppExplore/aggbug/53984.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/CppExplore/" target="_blank">Jeff</a> 2008-06-19 12:12 <a href="http://www.cppblog.com/CppExplore/archive/2008/06/19/45061.html#53984#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 【原创】测试系列之 c++ server测试全攻略</title><link>http://www.cppblog.com/CppExplore/archive/2008/06/18/36696.html#53930</link><dc:creator>zichuanxiu</dc:creator><author>zichuanxiu</author><pubDate>Wed, 18 Jun 2008 14:08:00 GMT</pubDate><guid>http://www.cppblog.com/CppExplore/archive/2008/06/18/36696.html#53930</guid><description><![CDATA[可以考虑 一些异常测试，资源受限，比如内存分配失败测试，定时器启动失败测试等。<img src ="http://www.cppblog.com/CppExplore/aggbug/53930.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/CppExplore/" target="_blank">zichuanxiu</a> 2008-06-18 22:08 <a href="http://www.cppblog.com/CppExplore/archive/2008/06/18/36696.html#53930#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 职业之路</title><link>http://www.cppblog.com/CppExplore/archive/2008/06/18/53814.html#53871</link><dc:creator>wk</dc:creator><author>wk</author><pubDate>Wed, 18 Jun 2008 07:57:00 GMT</pubDate><guid>http://www.cppblog.com/CppExplore/archive/2008/06/18/53814.html#53871</guid><description><![CDATA[呵呵， 非常好， 我们说从事的行业， 技术绝对不是最重要的问题。 做成一件事靠的是多方面，技术， 团队，管理，流程，心情，呵呵， 都很重要。 <img src ="http://www.cppblog.com/CppExplore/aggbug/53871.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/CppExplore/" target="_blank">wk</a> 2008-06-18 15:57 <a href="http://www.cppblog.com/CppExplore/archive/2008/06/18/53814.html#53871#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 职业之路</title><link>http://www.cppblog.com/CppExplore/archive/2008/06/18/53814.html#53836</link><dc:creator>梦在天涯</dc:creator><author>梦在天涯</author><pubDate>Wed, 18 Jun 2008 04:12:00 GMT</pubDate><guid>http://www.cppblog.com/CppExplore/archive/2008/06/18/53814.html#53836</guid><description><![CDATA[支持！<img src ="http://www.cppblog.com/CppExplore/aggbug/53836.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/CppExplore/" target="_blank">梦在天涯</a> 2008-06-18 12:12 <a href="http://www.cppblog.com/CppExplore/archive/2008/06/18/53814.html#53836#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 职业之路</title><link>http://www.cppblog.com/CppExplore/archive/2008/06/18/53814.html#53829</link><dc:creator>小麦</dc:creator><author>小麦</author><pubDate>Wed, 18 Jun 2008 03:08:00 GMT</pubDate><guid>http://www.cppblog.com/CppExplore/archive/2008/06/18/53814.html#53829</guid><description><![CDATA[很有见地！也许这篇文章为我指明了以后的路！<img src ="http://www.cppblog.com/CppExplore/aggbug/53829.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/CppExplore/" target="_blank">小麦</a> 2008-06-18 11:08 <a href="http://www.cppblog.com/CppExplore/archive/2008/06/18/53814.html#53829#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 职业之路</title><link>http://www.cppblog.com/CppExplore/archive/2008/06/18/53814.html#53824</link><dc:creator>清风剑客</dc:creator><author>清风剑客</author><pubDate>Wed, 18 Jun 2008 02:50:00 GMT</pubDate><guid>http://www.cppblog.com/CppExplore/archive/2008/06/18/53814.html#53824</guid><description><![CDATA[支持作者.常来关注!!!<img src ="http://www.cppblog.com/CppExplore/aggbug/53824.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/CppExplore/" target="_blank">清风剑客</a> 2008-06-18 10:50 <a href="http://www.cppblog.com/CppExplore/archive/2008/06/18/53814.html#53824#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 【原创】系统设计之 必备外围功能-log</title><link>http://www.cppblog.com/CppExplore/archive/2008/06/05/52216.html#52281</link><dc:creator>cppexplore</dc:creator><author>cppexplore</author><pubDate>Thu, 05 Jun 2008 11:44:00 GMT</pubDate><guid>http://www.cppblog.com/CppExplore/archive/2008/06/05/52216.html#52281</guid><description><![CDATA[呵呵 以为我的log框架你会喜欢，看来我错了。不过还有一句话“如果你没使用过log4cplus，ok，那么下载一个log4cplus，编译，......，尝试以下，你一定会惊叹log4cplus的强大与美妙。”<img src ="http://www.cppblog.com/CppExplore/aggbug/52281.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/CppExplore/" target="_blank">cppexplore</a> 2008-06-05 19:44 <a href="http://www.cppblog.com/CppExplore/archive/2008/06/05/52216.html#52281#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 【原创】系统设计之 必备外围功能-log</title><link>http://www.cppblog.com/CppExplore/archive/2008/06/05/52216.html#52272</link><dc:creator>Kevin Lynx</dc:creator><author>Kevin Lynx</author><pubDate>Thu, 05 Jun 2008 09:50:00 GMT</pubDate><guid>http://www.cppblog.com/CppExplore/archive/2008/06/05/52216.html#52272</guid><description><![CDATA[日志对于一个系统来说确实是必不可少的基础模块。 <br>我用模板写了个不依赖于具体‘写’的日志类，简单的日志等级过滤。<br>///<br>/// @file kl_logger.h<br>/// @author Kevin Lynx<br>/// @date 4.21.2008<br>///<br>#ifndef ___KL_LOGGER_H_<br>#define ___KL_LOGGER_H_<br><br>#include &lt;assert.h&gt;<br>#include &lt;stdarg.h&gt;<br>#include &lt;time.h&gt;<br>#include &lt;fstream&gt;<br>#include &quot;kl_compiler_cfg.h&quot;<br><br>KL_COMMON_NAMESPACE_BEGIN<br><br>/// log level<br>enum log_level<br>{<br>	LL_MIN = -1,<br>	LL_ERROR,<br>	LL_WARNING,<br>	LL_INFO,<br>	LL_DEBUG,<br>	LL_MAX<br>};<br><br>///<br>/// default log pre-string, add system time and log level.<br>///<br>struct default_log_prestr<br>{<br>	/// output pre-string in the buffer<br>	/// @return the offset of the buf.<br>	std::size_t operator() ( char *buf, int level )<br>	{<br>		char time[9];<br>		char date[9];<br>		_strtime( time );<br>		_strdate( date );<br><br>		const char *ll_desc = 0;<br>		switch( level )<br>		{<br>		case LL_ERROR:<br>			ll_desc = &quot;ERROR&quot;;<br>			break;<br>		case LL_WARNING:<br>			ll_desc = &quot;WARNING&quot;;<br>			break;<br>		case LL_INFO:<br>			ll_desc = &quot;INFO&quot;;<br>			break;<br>		case LL_DEBUG:<br>			ll_desc = &quot;DEBUG&quot;;<br>			break;<br><br>		default:<br>			ll_desc = &quot;UNKNOWN&quot;;<br>		}<br><br>		// combine<br>		sprintf( buf, &quot;%s %s %s : &quot;, date, time, ll_desc );<br>		return strlen( buf ) ;<br>	}<br>};<br><br>///<br>/// <br>/// A simple logger class to write log information.<br>///<br>/// @param _Output where the log information to put, it must implement 'log( const char*)' function.<br>/// @param _PreStr used to write the pre-string of the log text like : 4.21.2008 : something.<br>/// @param string_size used when format string.(static buffer is more fast than dynamic buffer)<br>template &lt;typename _Output, typename _PreStr = default_log_prestr, std::size_t _string_size = 1024&gt;<br>class logger<br>{<br>public:<br>	/// output object type<br>	typedef _Output output_type;<br>	<br>	/// pre-string type<br>	typedef _PreStr prestr_type;<br><br>	/// string size used when formatting strings.<br>	enum<br>	{<br>		string_size = _string_size<br>	};<br><br>public:<br>	/// constructor<br>	logger() :<br>	  _output( 0 ), _level( LL_DEBUG )<br>	{<br>	}<br><br>	/// destructor<br>	~logger()<br>	{<br>	}<br><br>	/// set the output manager, you must call this function before you <br>	/// log anything.<br>	void set_output( output_type *ot )<br>	{<br>		assert( ot != 0 &amp;&amp; &quot;logger::set_output : invalid arguments.&quot; );<br>		_output = ot;<br>	}<br><br>	/// write log text<br>	void write_only( int level, const char *format, ... )<br>	{<br>		assert( _output != 0 &amp;&amp; &quot;logger::write_only : You must set up the output manager before you log anything.&quot; );<br>		static char buf[string_size];<br><br>		// checck the level<br>		if( level &gt; _level ) return ;<br><br>		// format the string<br>		va_list list;<br>		va_start( list, format );<br>		vsprintf( buf, format, list );<br>		va_end( list );<br><br>		// output the log text<br>		_output-&gt;log( buf );<br>	}<br><br>	/// write log text and append prestring<br>	void write( int level, const char *format, ... )<br>	{<br>		assert( _output != 0 &amp;&amp; &quot;logger::write : You must set up the output manager before you log anything.&quot; );<br>		static char buf[string_size];<br><br>		// checck the level<br>		if( level &gt; _level ) return ;<br><br>		// append pre-string<br>		std::size_t pos = _prestr( buf, level );<br><br>		// format the string<br>		va_list list;<br>		va_start( list, format );<br>		vsprintf( &amp;buf[pos], format, list );<br>		va_end( list );<br><br>		// output the log text<br>		_output-&gt;log( buf );<br>	}<br><br>	/// set log level<br>	void set_level( int level )<br>	{<br>		assert( level &gt; LL_MIN &amp;&amp; level &lt; LL_MAX &amp;&amp; &quot;logger::set_level : invalid arguments.&quot; );<br>		_level = level;<br>	}<br><br>	/// get the log level<br>	int get_level()<br>	{<br>		return _level;<br>	}<br><br>private:<br>	/// output manager to collect log text.<br>	output_type *_output;<br>	/// pre-str to append some text before the log text<br>	prestr_type _prestr;<br>	/// log level<br>	int _level;<br>};<br><br>///<br>/// The file log output manager, write log text to the file.<br>///<br>class file_output<br>{<br>public:<br>	/// constructor<br>	file_output()<br>	{<br>	}<br><br>	/// this constructor will open the file<br>	file_output( const std::string filename, std::ios_base::openmode _Mode = std::ios_base::out ) :<br>		_file_handle( filename.c_str(), _Mode )<br>	{<br>	}<br><br>	/// destructor<br>	~file_output()<br>	{<br>	}<br><br>	/// open the file if it's not open<br>	bool open( const std::string filename, std::ios_base::openmode _Mode = std::ios_base::out )<br>	{<br>		if( _file_handle.is_open() )<br>		{<br>			return false;<br>		}<br><br>		_file_handle.open( filename.c_str(), _Mode );<br>		return _file_handle.is_open();<br>	}<br><br>	/// log<br>	void log( const char *str )<br>	{<br>		assert( _file_handle.is_open() &amp;&amp; &quot;file_output::log : you cannot write anything before you open the file!&quot; );<br>		_file_handle &lt;&lt; str ;<br>		_file_handle.flush();<br>	}<br><br>private:<br>	/// output file<br>	std::ofstream _file_handle;<br>};<br><br>KL_COMMON_NAMESPACE_END<br><br>#endif // end ___KL_LOGGER_H_<img src ="http://www.cppblog.com/CppExplore/aggbug/52272.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/CppExplore/" target="_blank">Kevin Lynx</a> 2008-06-05 17:50 <a href="http://www.cppblog.com/CppExplore/archive/2008/06/05/52216.html#52272#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 【原创】系统设计之 必备外围功能-log[未登录]</title><link>http://www.cppblog.com/CppExplore/archive/2008/06/05/52216.html#52237</link><dc:creator>cppexplore</dc:creator><author>cppexplore</author><pubDate>Thu, 05 Jun 2008 04:48:00 GMT</pubDate><guid>http://www.cppblog.com/CppExplore/archive/2008/06/05/52216.html#52237</guid><description><![CDATA[还没接触过语音板卡 我们的应用没有媒体编解码或者dtmf检测的。有时间向你讨教讨教，留个联系方式吧，我的gtalk/gmail是gamil.com的，msn是live.com的，名称都是zongjinliang。<img src ="http://www.cppblog.com/CppExplore/aggbug/52237.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/CppExplore/" target="_blank">cppexplore</a> 2008-06-05 12:48 <a href="http://www.cppblog.com/CppExplore/archive/2008/06/05/52216.html#52237#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 【原创】系统设计之 必备外围功能-log</title><link>http://www.cppblog.com/CppExplore/archive/2008/06/05/52216.html#52234</link><dc:creator>true</dc:creator><author>true</author><pubDate>Thu, 05 Jun 2008 04:28:00 GMT</pubDate><guid>http://www.cppblog.com/CppExplore/archive/2008/06/05/52216.html#52234</guid><description><![CDATA[汗。。。，我和你可能有些缘分，我也在linux开发应用服务器，语音板卡，信令。哈哈。<img src ="http://www.cppblog.com/CppExplore/aggbug/52234.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/CppExplore/" target="_blank">true</a> 2008-06-05 12:28 <a href="http://www.cppblog.com/CppExplore/archive/2008/06/05/52216.html#52234#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 【原创】系统设计之 必备外围功能-log[未登录]</title><link>http://www.cppblog.com/CppExplore/archive/2008/06/05/52216.html#52231</link><dc:creator>cppexplore</dc:creator><author>cppexplore</author><pubDate>Thu, 05 Jun 2008 04:08:00 GMT</pubDate><guid>http://www.cppblog.com/CppExplore/archive/2008/06/05/52216.html#52231</guid><description><![CDATA[@true <br>呵呵 linux上的应用服务器 软交换服务器 流媒体服务器等。<img src ="http://www.cppblog.com/CppExplore/aggbug/52231.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/CppExplore/" target="_blank">cppexplore</a> 2008-06-05 12:08 <a href="http://www.cppblog.com/CppExplore/archive/2008/06/05/52216.html#52231#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 【原创】系统设计之 必备外围功能-log</title><link>http://www.cppblog.com/CppExplore/archive/2008/06/05/52216.html#52230</link><dc:creator>true</dc:creator><author>true</author><pubDate>Thu, 05 Jun 2008 03:38:00 GMT</pubDate><guid>http://www.cppblog.com/CppExplore/archive/2008/06/05/52216.html#52230</guid><description><![CDATA[知识面很广啊，不知工作中开发什么呢<img src ="http://www.cppblog.com/CppExplore/aggbug/52230.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/CppExplore/" target="_blank">true</a> 2008-06-05 11:38 <a href="http://www.cppblog.com/CppExplore/archive/2008/06/05/52216.html#52230#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 【原创】系统设计之 网络模型（二）[未登录]</title><link>http://www.cppblog.com/CppExplore/archive/2008/05/01/45061.html#48569</link><dc:creator>CppExplore</dc:creator><author>CppExplore</author><pubDate>Wed, 30 Apr 2008 23:53:00 GMT</pubDate><guid>http://www.cppblog.com/CppExplore/archive/2008/05/01/45061.html#48569</guid><description><![CDATA[@true<br>  ：）<br>这个就是文中2（1）的模型，主线程accept，将新的clientfd通过管道传递给epoll线程，管道的读端也在epoll的监控之下。不使用管道的话，sockpair也可以，不过它也是基于管道实现。<br>管道的连接是不可回避的，因为epoll线程在epoll_wait处等待，要实时的告诉epoll监控某fd，一定要epoll_wait返回，执行加入操作，再继续epoll_wait。<br>后面的业务线程处理也就是2（4）和2（5）模型。<br>2（3）是单线程的模型，就epoll而言，单线程的性能最好，也就是epoll+单线程=高性能。业务线程当然是根据需要后接线程，测试的数据一直没时间发出来，过几天发下。<img src ="http://www.cppblog.com/CppExplore/aggbug/48569.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/CppExplore/" target="_blank">CppExplore</a> 2008-05-01 07:53 <a href="http://www.cppblog.com/CppExplore/archive/2008/05/01/45061.html#48569#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 【原创】系统设计之 网络模型（三）多路复用模型[未登录]</title><link>http://www.cppblog.com/CppExplore/archive/2008/04/30/48529.html#48547</link><dc:creator>true</dc:creator><author>true</author><pubDate>Wed, 30 Apr 2008 12:07:00 GMT</pubDate><guid>http://www.cppblog.com/CppExplore/archive/2008/04/30/48529.html#48547</guid><description><![CDATA[在《网络模型二》中回复了，请讨论<img src ="http://www.cppblog.com/CppExplore/aggbug/48547.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/CppExplore/" target="_blank">true</a> 2008-04-30 20:07 <a href="http://www.cppblog.com/CppExplore/archive/2008/04/30/48529.html#48547#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 【原创】系统设计之 网络模型（二）[未登录]</title><link>http://www.cppblog.com/CppExplore/archive/2008/04/30/45061.html#48546</link><dc:creator>true</dc:creator><author>true</author><pubDate>Wed, 30 Apr 2008 12:05:00 GMT</pubDate><guid>http://www.cppblog.com/CppExplore/archive/2008/04/30/45061.html#48546</guid><description><![CDATA[下面这个假想的模型在上面有体现，但不太好归类，描述如下：<br>1.主线程一直accept<br>2.有一个线程在监听epoll事件<br>3.accept后将连接加入2中的epoll监听（在epoll中add 这个fd时是线程安全的吗？）<br>4.epoll检测到某fd可读时，交给业务逻辑线程t1处理（这时需要在epoll中del这个fd吗），在t1中根据请求的类型给fd发送了一些数据，然后再加入到epoll中？。即2中的epoll只监听可读<img src ="http://www.cppblog.com/CppExplore/aggbug/48546.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/CppExplore/" target="_blank">true</a> 2008-04-30 20:05 <a href="http://www.cppblog.com/CppExplore/archive/2008/04/30/45061.html#48546#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 【原创】系统设计之 网络模型（三）多路复用模型[未登录]</title><link>http://www.cppblog.com/CppExplore/archive/2008/04/30/48529.html#48540</link><dc:creator>CppExplore</dc:creator><author>CppExplore</author><pubDate>Wed, 30 Apr 2008 10:47:00 GMT</pubDate><guid>http://www.cppblog.com/CppExplore/archive/2008/04/30/48529.html#48540</guid><description><![CDATA[@true <br>可以在上一篇《网络模型二》<a target="_new" href="http://www.cppblog.com/CppExplore/archive/2008/03/21/45061.html中跟贴讨论新模型">http://www.cppblog.com/CppExplore/archive/2008/03/21/45061.html中跟贴讨论新模型</a>，是文中已有的，还是没有的新模型，本文旨在讨论函数本身的差异。<br>epoll和线程池的结合，不是很理解，是epoll单线程后接业务线程，还是epoll本身线程池？epoll本身的话，我想象不出来，结构在可读状态的话，新线程epoll_wait还是可读。并且线程池要求无内蕴状态，行为的变化来自于外界的输入参数，莫非是《网络模型二》中的模型2（1）？<br>就epoll而言，《网络模型二》的2模型中，业务线程先不谈，单线程的epoll性能就很强，其他模型的测试结果反而有下降。poll/select则不同。<br>这个话题最好还是在《网络模型二》中探讨，本文不多扩展。<img src ="http://www.cppblog.com/CppExplore/aggbug/48540.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/CppExplore/" target="_blank">CppExplore</a> 2008-04-30 18:47 <a href="http://www.cppblog.com/CppExplore/archive/2008/04/30/48529.html#48540#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 【原创】系统设计之 网络模型（三）多路复用模型[未登录]</title><link>http://www.cppblog.com/CppExplore/archive/2008/04/30/48529.html#48537</link><dc:creator>true</dc:creator><author>true</author><pubDate>Wed, 30 Apr 2008 10:13:00 GMT</pubDate><guid>http://www.cppblog.com/CppExplore/archive/2008/04/30/48529.html#48537</guid><description><![CDATA[关注epoll和线程池的结合。<img src ="http://www.cppblog.com/CppExplore/aggbug/48537.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/CppExplore/" target="_blank">true</a> 2008-04-30 18:13 <a href="http://www.cppblog.com/CppExplore/archive/2008/04/30/48529.html#48537#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>