比C++更加优势的Rust异步处理

Asynchronous framework

C++:

 

class Server {
   void on_request(req) {
      redis.write(req, redis_done);
      maria.write(req, maria_done);
   }
   void redis_done() {
      redis_done = true;
      done_check();
   }
   void maria_done() {
      maria_done = true;
      done_check();
   }
   void done_check() {
      if (redis_done && maria_done) {
         done();
      }
   }
   void done() {
      server.reply(reply_done);
   }
   void reply_done() {
      ...
   }
}

 

Rust:

server.read_request()
    .and_then(|req| {
        redis.write(req)
            .join(maria.write(req))
    })
    .and_then(|res| {
        server.reply(res)
    })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值