专栏首页架构说memcache启动过程以及线程模型

memcache启动过程以及线程模型

2019-04-04

memcache启动过程以及线程模型

耗时三天 阅读了 2个文件 memcached-1.5.4\memcached.c memcached-1.5.4\thread.c 具体过程已经记不清楚了,可以参考网上很多人的分析 下面是我的理解

对服务器Reactor模式方式4 (多线程分离io,多线程处理业务)有了清晰理解 socket请求 可以向http一样 当作流量 ,可以负载的,才用方式主线程和子线程 通过管道传递消息

别人绘制的memcache启动过程以及线程模型

我绘制的memcache启动过程以及线程模型

服务器Reactor模式回顾

一般服务器 简单划分2个部分 A io部分和B业务部分

Reactor模式

方式1 一个连接,分配一个线程,每个线程完成各自的 IO和业务部分-一体的

经典例子

方式2一个线程 处理客户的all请求的的io和业务这2个部分--io和业务是分离的

Reactor

Reactor

方式3 单线程处理io事件分离,多线程处理业务

多线程处理

方式4 多线程分离io,多线程处理业务

Multiple Reactors

本文分享自微信公众号 - 架构说(JiaGouS),作者:王传义

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-04-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 每日一问11-线程使用场景(Node.js,Redis ,Memcached)

    end

    程序员小王
  • CPU核数和线程 (池)数量的关系(概念理解)

    目前手机配置: 支持HUAWEI Mate 8非凡表现的, 是拥有强大性能的华为麒麟950芯片。 此芯片为八核4*Cortex A72 ...

    程序员小王
  • 线程池的作用

    问题: nginx 写的线程池太过抽象根本理解不了 例如 pthread_create()函数创建了线程 线程就开始提供服务了(还需要提供别人使用),回收更解...

    程序员小王
  • 如何做才能真正提升计算速度?

    遇上项目紧急情况,面对大量需要试算的数据时,如何快速提升计算效率,可能是最现实的问题。计算机操作系统提供了进程和线程模型,各种语言都有对这些模型的抽象,并且大多...

    double
  • 多线程基础必要知识点!看了学习多线程事半功倍

    Java3y
  • Salesforce业务机会分成(Split)介绍

    Salesforce业务机会分成(Opportunity Splits)允许你将一个业务机会的业绩分配给多个团队成员。

    臭豆腐
  • python爬虫入门八:多进程/多线程

    但如果数据量很大,比如要通过访问数百数千个url去爬取数据,单线程必须等待当前url访问完毕并且数据提取保存完成后才可以对下一个url进行操作,一次只能对一个u...

    py3study
  • JAVA并发之进程VS线程

    进程和线程是包含关系,但是多任务既可以由多进程实现,也可以由单进程内的多线程实现,还可以混合多进程+多线程。

    Java宝典
  • JAVA并发之进程VS线程

    进程和线程是包含关系,但是多任务既可以由多进程实现,也可以由单进程内的多线程实现,还可以混合多进程+多线程。

    Java宝典
  • 新人第一帖 留个爪爪

    新人第一帖 留个爪爪 基于 Block 的异步编程回调是目前 iOS 使用最广泛的异步编程方式,iOS 系统提供的 GCD 库让异步开发变得很简单方便,但是基...

    用户3127870

扫码关注云+社区

领取腾讯云代金券