自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

陈硕的Blog

吾尝终日而思矣,不如须臾之所学也。吾尝跂而望矣,不如登高之博见也。……君子生非异也,善假于物也。 @bnu_chenshuo

  • 博客(6)
  • 资源 (3)
  • 收藏
  • 关注

原创 分布式系统中要部署几台 NTP 服务器才够用?

根据以上分析,似乎要 4 台 NTP 服务器才能满足基本的高可用需求,您同意吗?

2011-05-31 00:07:00 24628 8

原创 Muduo 网络编程示例之九:简单的消息广播服务

本文介绍用 muduo 实现一个简单的 topic-based 消息广播服务,这其实是“聊天室”的一个简单扩展,不过聊天的不是人,而是分布式系统中的程序。

2011-05-25 23:22:00 20350 12

原创 C++ 工程实践(6):单元测试如何 mock 系统调用

本文讨论了在编写单元测试时 mock 系统调用(以及其他第三方库)的几种做法。

2011-05-16 00:20:00 26798 7

原创 分布式系统部署、监控与进程管理的几重境界

根据公司的规模和技术水平不同,分布式系统的运维分为几重境界,以下是我对各重境界的简要描述。

2011-05-09 16:47:00 61706 47

原创 Muduo 网络编程示例之八:用 Timing wheel 踢掉空闲连接

Muduo 网络编程示例之八:Timing wheel 踢掉空闲连接 陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice  t.sina.com.cn/giantchen 这是《Muduo 网络编程示例》系列的第八篇文章,原计划讲文件传输,这里插入一点计划之外的内容。 Muduo 全系列文章列表: http://blog.csdn.net/Solstice/category/779646.aspx 本文介绍如何使用 timing wheel 来踢掉空闲的连

2011-05-04 21:24:00 31096 47

原创 Muduo 网络编程示例之七:“串并转换”连接服务器及其自动化测试

Muduo 网络编程示例之七:连接服务器及其自动化测试 陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice  t.sina.com.cn/giantchen 这是《Muduo 网络编程示例》系列的第七篇文章。 本文介绍如何使用 test harness 来测试一个具有内部逻辑的网络服务程序。 本文的代码见 http://code.google.com/p/muduo/source/browse/trunk/examples/multiplexer

2011-05-02 19:49:00 18011 5

当析构函数遇到多线程── C++ 中线程安全的对象回调 PDF

编写线程安全的类不是难事,用同步原语保护内部状态即可。但是对象的生与死不能由对象自身拥有的互斥器来保护。如何保证即将析构对象 x 的时候,不会有另一个线程正在调用 x 的成员函数?或者说,如何保证在执行 x 的成员函数期间,对象 x 不会在另一个线程被析构?如何避免这种竞态条件是 C++ 多线程编程面临的基本问题,可以借助 boost 的 shared_ptr 和 weak_ptr 完美解决。这也是实现线程安全的 Observer 模式的必备技术。 本文源自陈硕在 2009 年 12 月上海 C++ 技术大会的一场演讲《当析构函数遇到多线程》,内容略有增删。原始 PPT 可从 http://download.csdn.net/source/1982430 下载。 本文读者应具有 C++ 多线程编程经验,熟悉互斥器、竞态条件等概念,了解智能指针,知道 Observer 设计模式。

2010-01-23

《当析构函数遇到多线程》PPT

这是陈硕在 2009 年上海 C++ 技术大会演讲《当析构函数遇到多线程》的 PPT 投影片,可自由用于个人学习,其他使用需得到作者许可。 简介:编写线程安全的类不是难事,用同步原语保护内部状态即可。但是对象的生与死不能由对象自身拥有的互斥器来保护。如何保证即将析构对象 x 的时候,不会有另一个线程正在调用 x 的成员函数?或者说,如何保证在执行 x 的成员函数期间,对象 x 不会在另一个线程被析构?如何避免这种 race condition 是 C++ 多线程编程面临的基本问题,可以借助 tr1 中的 shared_ptr 和 weak_ptr 完美解决。这也是实现线程安全的 Observer 模式的必备技术。

2010-01-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除