![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
项目
文章平均质量分 69
项目总结记录
Yukisblog
这个作者很懒,什么都没留下…
展开
-
web server工作线程解读
类封装了与单个HTTP连接相关的所有操作,包括读取请求、解析请求、处理请求、生成响应和发送响应。方法来执行这一任务。工作线程的主要任务是处理客户端发起的HTTP请求。类封装了处理HTTP连接的逻辑,而工作线程通常会调用。类的方法来完成对每个客户端请求的处理。原创 2024-03-20 20:48:04 · 270 阅读 · 0 评论 -
xv6操作系统问答式梳理(MIT6.S081)
栈帧是因函数运行而临时开辟的空间,每调用一次函数,便会在栈上创建一个独立栈帧,其中存放函数中的必要信息,如局部变量、函数传参、返回值等。当函数运行完毕栈帧将会销毁。栈从高地址向低地址增长,sp指向栈顶(当前栈帧的位置,会移动),fp指向栈底,创建新的栈帧时对指针做减法栈帧大小不同,但return address、指向前一个栈帧的指针在固定位置栈帧中从高到低第一个 8 字节fp-8是 return address,也就是当前调用层应该返回到的地址。栈帧中从高到低第二个 8 字节fp-16。原创 2024-03-18 20:39:03 · 1034 阅读 · 0 评论 -
web server日志、定时器等相关面试题
需要记录日志时,日志类中的写方法会先检查日志行数有没有达到最大值,随后将日志信息添加到队列中,再由后台线程取出日志信息写入文件(后台线程处理,保证了不会阻塞主线程的运行)服务器启动时,创建监听套接字,绑定到指定端口,并开始监听;先私有化其构造函数(该类不能被外界实例化,构造方法只能为private),自行实例化(实例是当前类的静态成员变量),并用一个公有的静态方法获取该实例。为方便管理,日志是用单例模式实现的,首先调用方法获取日志的单例实例,并对日志初始化(指定日志级别、最大队列大小、同步or异步等)原创 2024-03-18 17:34:11 · 418 阅读 · 0 评论 -
web server线程池解读
线程池是一种在程序运行时创建和管理线程的机制,它用于提高多线程程序的性能和响应能力。通过线程池,可以避免频繁创建和销毁线程的开销,同时可以有效地控制并发线程的数量,提高资源的利用率。原创 2024-03-18 14:56:49 · 393 阅读 · 0 评论 -
web server线程池相关面试题
每个工作线程都会调用worker方法,该方法内部调用run执行任务,run在一个循环中运行,收到信号量通知,加上互斥锁,并从队头取一个任务,执行该任务,执行完释放互斥锁,等待下一个任务,直到线程池被停止。创建一个有最大线程数和最大请求队列长度的线程池,把线程设置为脱离状态,这样在线程结束时不会占用系统资源,并初始化一个信号量和互斥锁。当线程池不再使用时,会设置停止标志位通知工作线程停止工作,等待所有工作线程结束后,释放工作队列和线程数组占用的内存。你的线程池工作线程处理完一个任务后的状态是什么?原创 2024-03-18 15:28:31 · 246 阅读 · 0 评论