会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
牛犁heart
Stay Hungry,Stay Foolilsh
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
12
13
14
15
16
17
18
19
20
···
42
下一页
2022年4月16日
均摊时间复杂度
摘要: ###引入 看个例子: // array表示一个长度为n的数组 // 代码中的array.length就等于n int[] array = new int[n]; int count = 0; void insert(int val) { if (count == array.length) { i
阅读全文
posted @ 2022-04-16 21:28 牛犁heart
阅读(103)
评论(0)
推荐(0)
2022年4月9日
网络编程:reactor反应堆_TCP字节流处理和HTTP协议实现
摘要: ###buffer对象 buffer对象:顾名思义,就是一个缓冲区对象,缓存了从套接字接收来的数据以及需要发往套接字的数据。 如果是从套接字接受来的数据,事件处理回调函数在不断地往buffer对象增加数据,同时,应用程序需要不断把buffer对象中的数据处理掉,这样,buffer对象才可以空出新的位
阅读全文
posted @ 2022-04-09 22:22 牛犁heart
阅读(159)
评论(0)
推荐(0)
网络编程:反应堆_I/O模型和多线程模型实现
摘要: ###多线程设计的几个考虑 在反应堆reactor框架设计中,main reactor线程是一个acceptor线程,这个线程一旦创建,会以event_loop形式阻塞在event_dispatcher的dispatch方法上,实际上它是在等待监听套接字上的事件发生,即已完成的连接,一旦有连接完成,
阅读全文
posted @ 2022-04-09 22:01 牛犁heart
阅读(201)
评论(0)
推荐(0)
网络编程:反应堆reactor框架设计
摘要: https://app.yinxiang.com/fx/7e601cad-6501-4fe7-8e4e-f0fbd9d02c4b TCP 高性能网络框架需要满足的需求有以下三点: 1)采用 reactor 模型,可以灵活使用 poll/epoll 作为事件分发实现。 2)必须支持多线程,从而可以支持
阅读全文
posted @ 2022-04-09 19:14 牛犁heart
阅读(387)
评论(0)
推荐(0)
bool型返回值函数,没写return语句的时候返回啥?
摘要: 转载:bool型返回值函数,没写return语句的时候返回啥? 因为漏写了一个return语句,g++又没开warning,结果就悲剧了,调用的时候出现了奇怪的现象,于是就测试了一把到底没写return的时候返回什么东西。 #include <iostream> #include <vector>
阅读全文
posted @ 2022-04-09 17:11 牛犁heart
阅读(1469)
评论(0)
推荐(0)
2022年4月5日
网络编程:使用poll单线程处理所有I/O事件
摘要: ###事件驱动模型 事件驱动的好处:占用资源少,效率高,可扩展性强,是支持高性能高并发的不二之选。 事件驱动模型也叫作反应堆模型(reactor),或者是Event loop模型,该模型的核心有两点: 1、它存在一个无限循环的事件分发线程,或者叫做reactor线程、Event loop线程。这个事
阅读全文
posted @ 2022-04-05 21:13 牛犁heart
阅读(160)
评论(0)
推荐(0)
2022年3月27日
网络编程:阻塞I/O和线程模型
摘要: ###线程 进程模型在处理用户请求的过程中,进程切换上下文的代价比较高,而,一种轻量级的模型可以处理多用户连接请求,那就是线程模型。 线程(thread)是运行在进程中的一个“逻辑流”,现代操作系统都允许在单进程中运行多个线程。**线程由操作系统内核管理。**每个线程都有自己的上下文(context
阅读全文
posted @ 2022-03-27 23:38 牛犁heart
阅读(134)
评论(0)
推荐(0)
网络编程:阻塞I/O和进程模型
摘要: ###父进程和子进程 进程是程序执行的最小单位,一个进程有完整的地址空间、程序计数器等,如果想创建一个新的进程,使用函数 fork 就可以 pid_t fork(void) 返回:在子进程中为0,在父进程中为子进程ID,若出错则为-1 fork函数实现的时候,实际上会把当前父进程的所有相关值都克隆一
阅读全文
posted @ 2022-03-27 16:49 牛犁heart
阅读(71)
评论(0)
推荐(0)
网络编程:C10K问题
摘要: ###C10K问题 C10K问题就是如何一台物理机上同时服务10000个用户?C代表并发,10K就是10000 C10K 问题是由一个叫 Dan Kegel 的工程师提出并总结归纳的,你可以通过访问http://www.kegel.com/c10k.html获取最新相关信息 ###操作系统层面 C1
阅读全文
posted @ 2022-03-27 14:51 牛犁heart
阅读(204)
评论(0)
推荐(0)
网络编程:epoll
摘要: ###原理 select 的几个缺点: 1)每次调用select,都需要把fd集合从用户空间拷贝到内核空间,这个开销在fd很多时会很大 2)每次调用select都需要在内核遍历传递进来的所有fd,这个开销在fd很多时也会很大 3)select支持的文件描述符数量太小了,默认是1024 在调用接口上,
阅读全文
posted @ 2022-03-27 11:09 牛犁heart
阅读(794)
评论(0)
推荐(0)
上一页
1
···
12
13
14
15
16
17
18
19
20
···
42
下一页
公告