﻿<?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++博客-陈硕的Blog-最新评论</title><link>http://www.cppblog.com/Solstice/CommentsRSS.aspx</link><description /><language>zh-cn</language><pubDate>Tue, 02 Dec 2014 17:50:06 GMT</pubDate><lastBuildDate>Tue, 02 Dec 2014 17:50:06 GMT</lastBuildDate><generator>cnblogs</generator><item><title>re: Muduo 网络编程示例之三：定时器</title><link>http://www.cppblog.com/Solstice/archive/2014/08/21/139769.html#208080</link><dc:creator>ian</dc:creator><author>ian</author><pubDate>Thu, 21 Aug 2014 08:34:00 GMT</pubDate><guid>http://www.cppblog.com/Solstice/archive/2014/08/21/139769.html#208080</guid><description><![CDATA[@陈硕<br>谢谢陈老师这么快就回答了，去掉-march=native后重新编译正常了。<br><img src ="http://www.cppblog.com/Solstice/aggbug/208080.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Solstice/" target="_blank">ian</a> 2014-08-21 16:34 <a href="http://www.cppblog.com/Solstice/archive/2014/08/21/139769.html#208080#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: Muduo 网络编程示例之三：定时器</title><link>http://www.cppblog.com/Solstice/archive/2014/08/21/139769.html#208079</link><dc:creator>陈硕</dc:creator><author>陈硕</author><pubDate>Thu, 21 Aug 2014 07:00:00 GMT</pubDate><guid>http://www.cppblog.com/Solstice/archive/2014/08/21/139769.html#208079</guid><description><![CDATA[@ian<br>把 CMakeLists.txt 中 -march=native 这句话去掉，重新编译试试。<img src ="http://www.cppblog.com/Solstice/aggbug/208079.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Solstice/" target="_blank">陈硕</a> 2014-08-21 15:00 <a href="http://www.cppblog.com/Solstice/archive/2014/08/21/139769.html#208079#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: Muduo 网络编程示例之三：定时器</title><link>http://www.cppblog.com/Solstice/archive/2014/08/21/139769.html#208078</link><dc:creator>ian</dc:creator><author>ian</author><pubDate>Thu, 21 Aug 2014 06:49:00 GMT</pubDate><guid>http://www.cppblog.com/Solstice/archive/2014/08/21/139769.html#208078</guid><description><![CDATA[我的系统是CentOS 6.5；安装了muduo-1.0.3。直接运行../build/release/bin/asio_tutorial_timer2、netty_discard_server等关于定时器的程序会Illegal instruction(core dumped)；而其他程序不行，请问一般情况下是什么原因呢？<img src ="http://www.cppblog.com/Solstice/aggbug/208078.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Solstice/" target="_blank">ian</a> 2014-08-21 14:49 <a href="http://www.cppblog.com/Solstice/archive/2014/08/21/139769.html#208078#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 一种自动反射消息类型的 Google Protobuf 网络传输方案</title><link>http://www.cppblog.com/Solstice/archive/2014/05/15/143344.html#206973</link><dc:creator>yilong</dc:creator><author>yilong</author><pubDate>Thu, 15 May 2014 06:29:00 GMT</pubDate><guid>http://www.cppblog.com/Solstice/archive/2014/05/15/143344.html#206973</guid><description><![CDATA[非常受用，多谢！<img src ="http://www.cppblog.com/Solstice/aggbug/206973.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Solstice/" target="_blank">yilong</a> 2014-05-15 14:29 <a href="http://www.cppblog.com/Solstice/archive/2014/05/15/143344.html#206973#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 用条件变量实现事件等待器的正确与错误做法</title><link>http://www.cppblog.com/Solstice/archive/2014/04/22/203094.html#206681</link><dc:creator>xanpeng</dc:creator><author>xanpeng</author><pubDate>Tue, 22 Apr 2014 14:26:00 GMT</pubDate><guid>http://www.cppblog.com/Solstice/archive/2014/04/22/203094.html#206681</guid><description><![CDATA[试解答思考题。<br>思考题“如果用两个 mutex，一个用于保护“条件”，另一个专门用于和 cond 配合 wait()，会出现什么情况？”的代码应该是按下面这么写。<br>* mutex_signaled_用来控制对signaled_的访问，mutex_cond_结合条件变量使用。<br>* 最大的问题就是原来mutex_unlock+wait是原子的（通过pthread_cond_wait()），现在相当于人为拆分成mutex_unlock，wait两步。这样可能丢失事件（unlock和wait之间发生signal）。<br><br>class Waiter9 : private WaiterBase<br>{<br> public:<br>  void wait()<br>  {<br>    CHECK_SUCCESS(pthread_mutex_lock(&amp;mutex_signaled_));<br>    while (!signaled_)<br>    {<br>       CHECK_SUCCESS(pthread_mutex_unlock(&amp;mutex_signaled_)); // 第一步<br>       CHECK_SUCCESS(pthread_mutex_lock(&amp;mutex_cond_));<br>       CHECK_SUCCESS(pthread_cond_wait(&amp;cond_, &amp;mutex_cond_));  // 第二步<br>       CHECK_SUCCESS(pthread_mutex_unlock(&amp;mutex_cond_));<br>       CHECK_SUCCESS(pthread_mutex_lock(&amp;mutex_signaled_));<br>    }<br>    CHECK_SUCCESS(pthread_mutex_unlock(&amp;mutex_signaled_));<br>  }<br> <br>  void broadcast()<br>  {<br>    CHECK_SUCCESS(pthread_mutex_lock(&amp;mutex_signaled_));<br>    signaled_ = true;<br>    CHECK_SUCCESS(pthread_mutex_unlock(&amp;mutex_signaled_));<br>	<br>    CHECK_SUCCESS(pthread_mutex_lock(&amp;mutex_cond_));	 // 可以不要<br>    CHECK_SUCCESS(pthread_cond_broadcast(&amp;cond_));<br>    CHECK_SUCCESS(pthread_mutex_unlock(&amp;mutex_cond_));  <br>  }<br> <br> private:<br>  bool signaled_ = false;<br>};<img src ="http://www.cppblog.com/Solstice/aggbug/206681.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Solstice/" target="_blank">xanpeng</a> 2014-04-22 22:26 <a href="http://www.cppblog.com/Solstice/archive/2014/04/22/203094.html#206681#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 为什么 muduo 的 shutdown() 没有直接关闭 TCP 连接？</title><link>http://www.cppblog.com/Solstice/archive/2014/04/15/140669.html#206590</link><dc:creator>陈硕</dc:creator><author>陈硕</author><pubDate>Mon, 14 Apr 2014 18:33:00 GMT</pubDate><guid>http://www.cppblog.com/Solstice/archive/2014/04/15/140669.html#206590</guid><description><![CDATA[@lys86_1205<br>你可以先单步跟踪一下。<img src ="http://www.cppblog.com/Solstice/aggbug/206590.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Solstice/" target="_blank">陈硕</a> 2014-04-15 02:33 <a href="http://www.cppblog.com/Solstice/archive/2014/04/15/140669.html#206590#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 为什么 muduo 的 shutdown() 没有直接关闭 TCP 连接？</title><link>http://www.cppblog.com/Solstice/archive/2014/03/19/140669.html#206226</link><dc:creator>lys86_1205</dc:creator><author>lys86_1205</author><pubDate>Wed, 19 Mar 2014 10:16:00 GMT</pubDate><guid>http://www.cppblog.com/Solstice/archive/2014/03/19/140669.html#206226</guid><description><![CDATA[如果套接字可写的话<br>void TcpConnection::shutdownInLoop()<br>{<br>  loop_-&gt;assertInLoopThread();<br>  if (!channel_-&gt;isWriting())<br>  {<br>    // we are not writing<br>    socket_-&gt;shutdownWrite();<br>  }<br>}<br>你这个函数的意思是不关闭，   也就是不调用socket_-&gt;shutdownWrite();<br>那岂不是没有关闭写？<img src ="http://www.cppblog.com/Solstice/aggbug/206226.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Solstice/" target="_blank">lys86_1205</a> 2014-03-19 18:16 <a href="http://www.cppblog.com/Solstice/archive/2014/03/19/140669.html#206226#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 多线程服务器的常用编程模型[未登录]</title><link>http://www.cppblog.com/Solstice/archive/2014/02/22/107751.html#205903</link><dc:creator>tony</dc:creator><author>tony</author><pubDate>Sat, 22 Feb 2014 02:31:00 GMT</pubDate><guid>http://www.cppblog.com/Solstice/archive/2014/02/22/107751.html#205903</guid><description><![CDATA[没错，一般都是用共享内存 @eagle<br><img src ="http://www.cppblog.com/Solstice/aggbug/205903.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Solstice/" target="_blank">tony</a> 2014-02-22 10:31 <a href="http://www.cppblog.com/Solstice/archive/2014/02/22/107751.html#205903#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 《Linux 多线程服务端编程：使用 muduo C++ 网络库》电子版上市</title><link>http://www.cppblog.com/Solstice/archive/2013/11/04/204039.html#204078</link><dc:creator>jTux</dc:creator><author>jTux</author><pubDate>Mon, 04 Nov 2013 02:42:00 GMT</pubDate><guid>http://www.cppblog.com/Solstice/archive/2013/11/04/204039.html#204078</guid><description><![CDATA[为什么不选个成熟的平台? 比如Amazon或者多看..<img src ="http://www.cppblog.com/Solstice/aggbug/204078.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Solstice/" target="_blank">jTux</a> 2013-11-04 10:42 <a href="http://www.cppblog.com/Solstice/archive/2013/11/04/204039.html#204078#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 为什么多线程读写 shared_ptr 要加锁？[未登录]</title><link>http://www.cppblog.com/Solstice/archive/2013/10/27/197597.html#203938</link><dc:creator>Terry</dc:creator><author>Terry</author><pubDate>Sun, 27 Oct 2013 10:09:00 GMT</pubDate><guid>http://www.cppblog.com/Solstice/archive/2013/10/27/197597.html#203938</guid><description><![CDATA[博主你好,我想问一下,你的那本muduo书第57页写道:<br>data_.swap(newData);//不要使用data_ = newData;<br>我想问一下这样写的原因,为什么不用data_ = newData;呢?这和多线程的race condition有关系吗?<br>我看到boost文档上写<br>operator=: <br>Effects: Equivalent to shared_ptr(r).swap(*this).<br><br>你这么写仅仅是为了少一个临时对象的生成?<br><br>谢谢<img src ="http://www.cppblog.com/Solstice/aggbug/203938.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Solstice/" target="_blank">Terry</a> 2013-10-27 18:09 <a href="http://www.cppblog.com/Solstice/archive/2013/10/27/197597.html#203938#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>