- 博客(8)
- 收藏
- 关注
原创 netty中的channelHandler注释@sharable后是否代表多个io线程共享的一个单例模式呢
根据自己的理解来解答这个问题,有理解错误的地方还望多多指点。首先说下答案吧,答案是否定的。@sharable注释的channelHandler类只是说明该类的实现应该是线程安全的,且一个实例可以被添加到多个pipeline中, netty框架底层并没有根据该标识将channelHandler类声明为是单例模式的。每个连接都有一个责任链,但责任链里的channelHandler对象是可以...
2019-11-04 17:17:28 2164
原创 libco协程库原理解析与应用
最近在准备一个libco协程库原理简析与应用的分享,顺便就整理下写个博客,一方面加深下自己对协程库的理解,另一方面也希望能对想了解协程的学者有所帮助。废话不多说了,言归正传吧。 想去剖析libco协程库的实现原理,首先我们要了解下什么是协程。维基百科上给协程的定义是协程(coroutine)又称微线程,是一个无优先级的子程序(函数)调度组件,允许子程序在特定的地方挂起和...
2018-06-13 18:13:14 3378
原创 服务端开发面试题
服务端开发工程师常见面试题目多进程多线程的区别1.进程是资源调度的最小单位,线程是cpu调度的最小单位2.数据共享和同步:多进程(数据共享复杂,需要ipc;数据是分开的,同步简单)多线程(共享进程数据,数据同步复杂)3.内存,cpu: 多进程(占用内存多,切换复杂,cpu利用率低)多线程(占用内存少,切换简单,cpu利用率高)4.编程调试:多进程(编程调试简单)多线程(变成
2017-07-20 07:54:38 6343
原创 nginx的lingering_close(延时关闭)
nginx的延时关闭是指当nginx要关闭tcp连接时不是直接关闭,而是先关闭tcp连接的写再关闭连接的读。直接执行关闭若此时nginx的tcp的write_buffer里有数据没有发送到客户端而read_buffer有数据则调用close()使得nginx直接返回客户端RST响应,丢弃了write_buffer里的数据。若write_buffer里存储的为错误信息,则客户端未收到错误信息连接已经
2017-07-14 14:17:32 1369
原创 ngixn如何控制多进程连接的平衡
nginx是一个多进程异步非阻塞的网络服务器。其一般有一个master进程和多个worker进程共同处理请求。其中master进程负责接收客户端的请求和管理work进程。work进程具体处理每个客户端的连接。当客户端请求到来时,多个work进程会去争取对该请求进行连接,那么如何能够保证多个进程的连接数保持一定的平衡而不至于使得某些进程负载过重呢?nginx通过使每个进程都保存一个自己的连接池,
2017-07-14 11:22:52 372
原创 常用设计模式
工作一年c++服务端开发,最常用的就是单例模式,那我就从这个开始1.单例模式是一种只能声明一个对象的特殊类(只有一个实例)。该模式的作用是节约系统资源。实现:构造函数和拷贝构造函数私有化。2.简单工厂模式简单工厂模式实际就是创建一个工厂类,该类根据创建产品的类型参数来调用不同的产品类的构造函数3.工厂方法模式在简单工厂模式的基础上对每个产品都引入一个工厂类,原工厂类不再负责
2017-07-11 14:12:59 269
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人