muduo源码分析之Atomic

muduo源码分析之Atomic
摘要由CSDN通过智能技术生成

1.吞吐量计算示例

在《Linux多线程服务端编程使用mudouC++网络库》中使用定时器的部分介绍了两个例子:
1.Boost.Asio Timer
2.Java Netty

第2个例子模拟Java Netty流量统计,统计吞吐量(每秒字节数)和每秒接收的消息数,用到了固定间隔的定时器EventLoop::runEvery。先来看看流量统计的server。

注:这里是测试的是单向吞吐量,因此服务端收到消息直接discard,echo client/server测试的是双向吞吐量。

muduo/examples/netty/discard/server.cc:

#include <muduo/net/TcpServer.h>

#include <muduo/base/Atomic.h>
#include <muduo/base/Logging.h>
#include <muduo/base/Thread.h>
#include <muduo/net/EventLoop.h>
#include <muduo/net/InetAddress.h>

#include <boost/bind.hpp>

#include <utility>

#include <stdio.h>
#include <unistd.h>

using namespace muduo;
using namespace muduo::net;

int numThreads = 0;

class DiscardServer
{
 public:
  DiscardServer(EventLoop* loop, const InetAddress& listenAddr)
    : server_(loop, listenAddr, "DiscardServer"),
      oldCounter_(0),
      star
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值