RPC与Thread笔记

  • 线程=“执行线程”

    • 线程允许一个程序同时做很多事
    • 每一个线程就像普通非线程程序一样,都是串行执行
    • 线程之间共享内存
    • 每个线程都包含每个线程的状态,所以它们有
      • 程序计数器,寄存器,堆栈,就绪挂起执行等状态
  • 线程的好处

    • I/O并发
      • 客户端并行的向多个服务器发送请求并且等待响应
      • 服务器端处理多个客户端请求;每个请求都可能阻塞
      • 当等待从磁盘读取客户机X的数据时,处理来自客户端Y的请求
    • 多核性能
      • 在多个核心上并行执行代码
    • 便捷性
      • 在后台,每秒检查一次每个worker是否还活着
  • 除了线程有可替代方案吗

    • 有:在单线程中编写明确交错活动的代码。通常称其为“事件驱动”

    • 保存每个活动的状态表。 eg:每个客户端的请求

    • One "event" loop that:
          checks for new input for each activity (e.g. arrival of reply from server),
          does the next step for each activity,
          updates state.
      
    • 事件驱动可以实现I/O并发,并且消除了线程的成本(可观),但无法获得多核的速度,并且编程很麻烦

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

poison_Program

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值