陈硕的Blog

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

排序:
默认
按更新时间
按访问量

Muduo 网络编程示例之一:五个简单 TCP 协议

这是《Muduo 网络编程示例》系列的第一篇文章。本文将介绍五个简单 TCP 网络服务协议的 muduo 实现,包括 echo (RFC 862)、discard (RFC 863)、chargen (RFC 864)、daytime (RFC 867)、time (RFC 868),以及 tim...

2011-02-02 12:59:00

阅读数:16952

评论数:12

Muduo 网络编程示例之零:前言

我将会写一系列文章,介绍用 muduo 网络库完成常见的 TCP 网络编程任务。这些例子都比较简单,逻辑不复杂,代码也很短,适合摘取关键部分放到博客上。其中一些有一定的代表性与针对性,比如“如何传输完整的文件”估计是网络编程的初学者经常遇到的问题。

2011-02-02 00:58:00

阅读数:33131

评论数:29

分布式系统的工程化开发方法

以下是我在珠三角技术沙龙 2010Q4 上的演讲投影片。

2010-10-19 00:54:00

阅读数:58572

评论数:71

并发编程的 15 条建议(译)

内核专家 Bryan Cantrill 和 Jeff Bonwick 在 2008 年 9 月的《ACM Queue》上发表了《Real-world Concurrency》 一文,提出了 15 条并发编程的建议,这里简单摘录如下。 1. Know your cold paths from yo...

2010-09-29 23:56:00

阅读数:30809

评论数:52

击鼓传花:对比 muduo 与 libevent2 的事件处理效率

前面我们比较了 muduo 和 libevent2 的吞吐量,得到的结论是 muduo 比 libevent2 快 18%。有人会说,libevent2 并不是为高吞吐的应用场景而设计的,这样的比较不公平,胜之不武。为了公平起见,这回我们用 libevent2 自带的性能测试程序(击鼓传花)来对比...

2010-09-08 01:00:00

阅读数:18723

评论数:22

muduo 与 libevent2 吞吐量对比

libevent 是一款非常好用的 C 语言网络库,它也采用 Reactor 模型,正好可以与 muduo 做一对比。 本文用 ping pong 测试来对比 muduo 和 libevent2 的吞吐量,测试结果表明 muduo 吞吐量平均比 libevent2 高 18% 以上,个别情况达到...

2010-09-05 18:43:00

阅读数:27562

评论数:21

muduo 与 boost asio 吞吐量对比

muduo 是一个基于 Reactor 模式的 C++ 网络库,我在编写它的时候并没有以高并发高吞吐为主要目标,但出乎我的意料,ping pong 测试表明,muduo 吞吐量比 boost.asio 高 15% 以上。

2010-09-04 16:24:00

阅读数:39219

评论数:45

发布一个基于 Reactor 模式的 C++ 网络库

Muduo 是我在业余时间编写的基于 Reactor 模式的 C++ 网络库,适用于 Linux 平台,支持多线程。本文主要介绍 muduo 网络库的使用。其设计与实现将有另文讲解。

2010-08-29 23:38:00

阅读数:82457

评论数:119

发布一个 Linux 下的 C++ 多线程库

发布一个我自己业余时间编写的 C++ 多线程库 for Linux,这个库只有不到 1000 行源代码,封装了 pthreads 的常用功能(互斥器、条件变量、线程),实现了简单的线程池,并仿照 java concurrent 包编写了 BlockingQueue 和 CountDownLatch...

2010-08-21 23:41:00

阅读数:31294

评论数:61

《程序中的日期与时间》第一章 日期计算

本文详细说明了以 Julian Day Number 为基础的日期处理的算法,解释了每个公式的意义,并用 C++ 语言实现了一个 Date class。

2010-08-15 23:15:00

阅读数:15453

评论数:20

计算机图书赠送

  最近清理出一批暂时用不上的计算机技术图书,准备送给需要它们的人。这些书大多是我 3 年前从北京搬到上海的,有的是我来上海之后买的。这些书有的我看过,更多的从买来就没有翻开。 赠送对象 1. 与我见过面吃过饭的技术人士、同学、朋友,或者 2. 没有见过面,但对技术感兴趣的人士(为了证明这...

2010-05-08 23:14:00

阅读数:17776

评论数:76

发布一个 Sockets 编程的交互式试验工具

学习 Sockets 网络编程的时候往往要写很多小程序来熟悉 api,触发各种时序,观察系统的行为。 最近在编写自己的 C++ 网络库,需要考察许多场景下 Sockets 系统调用的返回值。于是我写了一个简单的命令行交互式工具,用来手动触发各种边界条件。这让我能方便地观察系统的行为。 编译方法...

2010-04-17 22:20:00

阅读数:6696

评论数:2

整合 Google 开源 C++ 代码

  Google 开源了很多优秀的 C++ 程序库,本文介绍如何将其中几个整合到一起。 本文涉及的 Google 库有: gflags - 命令行参数解析。可以完全用命令行来配置应用程序,省去配置文件。 gtest - C++ 单元测试框架 gmock - C++ 单元...

2010-04-17 21:37:00

阅读数:34273

评论数:32

对 C++ 历史的个人观点

先把 PPT 放出来,文章以后有空再写吧。

2010-04-06 20:33:00

阅读数:19379

评论数:82

学之者生,用之者死——ACE历史与简评

学之者生,用之者死——ACE历史与简评陈硕 (giantchen_AT_gmail)Blog.csdn.net/Solstice2010 March 10ACE 是现代面向对象网络编程的鼻祖,确立了许多重要模式,如 Reactor、Acceptor 等,重要到我们甚至觉得网络编程就应该是那样的。但...

2010-03-10 11:06:00

阅读数:66990

评论数:214

《多线程服务器的适用场合》例释与答疑

陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice 2010 March 3 - rev 01 《多线程服务器的适用场合》(以下简称《适用场合》)一文在博客登出之后,有热心读者提出质疑,我自己也觉得原文没有把道理说通说透,这篇文章试图用一些实例来解答读者的...

2010-03-03 19:02:00

阅读数:16181

评论数:23

多线程服务器的适用场合

陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice 2010 Feb 28这篇文章原本是前一篇博客《多线程服务器的常用编程模型》(以下简称《常用模型》)计划中的一节,今天终于写完了。“服务器开发”包罗万象,本文所指的“服务器开发”的含义请见《常用模型》一文...

2010-02-28 21:27:00

阅读数:27168

评论数:48

Linux 新增系统调用的启示

最近在研究 Linux 内核的时间子系统,为下一篇长文《服务器程序中的日期与时间》做准备,无意中注意到了 Linux 新增的几个系统调用的对编写服务器代码的影响,先大致记录在这里。这篇博客也可算作前一篇《多线程服务器的常用编程模型》的一个注脚。 1. 服务器程序的风格可能在变 新的创建文件描述...

2010-02-26 02:32:00

阅读数:14490

评论数:9

多线程服务器的常用编程模型

 多线程服务器的常用编程模型 陈硕 (giantchen_AT_gmail)Blog.csdn.net/Solstice2009 Feb 12 建议阅读本文 PDF 版下载: http://files.cppblog.com/Solstice/multithreaded_server.pdf 本文...

2010-02-12 17:07:00

阅读数:80200

评论数:33

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

 当析构函数遇到多线程── C++ 中线程安全的对象回调 陈硕 (giantchen_AT_gmail)Blog.csdn.net/Solstice请尽量阅读本文 PDF 版:http://www.cppblog.com/Files/Solstice/dtor_meets_mt.pdf 豆丁亦可,...

2010-01-22 22:15:00

阅读数:40495

评论数:63

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