由于线程切换的开销比进程切换的开销小得多,因此多线程并发服务器的性能通常比多进程并发服务器要好。但是,多线程编程需要注意线程安全问题,例如数据共享、竞态条件、死锁等。 多路IO转接服务器 结合Linux内核中的阻塞非阻塞同步异步来学习 118.什么是IO多路复用 IO多路复用是一种高效的IO操作方式,它可以同时监听多个文...
Linux下C++开发的轻量级、高性能、高并发的web服务器 项目中用到的技术架构有: 线程池+非阻塞socket + epoll +事件处理的并发模型 状态机解析HTTP请求 同步/异步日志系统 项目的额开发工具和环境为: Ubuntu18 + Visual Studio Code + gcc 课程试看 下面是关于课程的一段试看视频,让你更直观的了解这是一门怎样的...
This branch is up to date withcv-programmer/linuxServer:master. doc 复习+勘误 Mar 2, 2022 slide 阻塞/非阻塞与同步/异步说明 Dec 9, 2021 README.md 阻塞/非阻塞与同步/异步说明 Dec 9, 2021 说明 本项目来源于牛客Linux高并发服务器项目,doc用于保存笔记,slide用于保存官方课件 ...
项目名称:Linux高并发服务器开发 技术架构:线程池+非阻塞socket + epoll +事件处理的并发模型 ;状态机解析HTTP请求;同步/异步日志系统 开发工具和环境:Ubuntu18 + Visual Studio Code + gcc 学习基础:熟悉Linux常见命令,熟悉C/C++语言即可 你能获得:熟悉并掌握Linux系统编程和网络编程相关技术;同步/异步日志系统;能...
主要用于实现服务的高可用 (1)特征 MongoDB的复制集主要具备如下特征: 快速复制:数据写入时将数据迅速复制到另一个节点。 故障转移:在接受写入的节点发生故障的时候自动选择另一个新的节点代替。 其他作用:数据分发、读写分离、异地容灾。 (2)MongoDB的数据复制原理 ...
web服务器,方向代理,负载均衡,邮件代理,运行时需要的系统资源比较少。 比较轻量级。 nginx服务器软件,俄罗斯(Igor Sysoev)人用c语言开发的,开源。号称处理百万级别的并发。热部署,高度模块化设计。自由许可证。 第三方业务模块可以用(c++开发)。 高并发 linux epoll技术。 windows IOCP ...
post请求不会被缓存,也不好保留在浏览器的历史记录中 5、get请求通常是通过url地址请求 post常见的则是form表单请求 6、get安全幂等,post不安全不幂等 7、GET⽅法只产⽣⼀个TCP数据包,浏览器会把请求头和请求数据⼀并发送出去,服务器响 应200 ok(返回数据) POST会产⽣两个TCP数据包,浏览器会先将请...
(1)多线程共享虚拟地址空间,其中栈空间和.text(代码段)被每个线程瓜分(不共享),其他都是共享的资源。 线程id、error变量、线程特有数据等也不共享。 (2) //创建一个子线程 int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg); ...
Linux下程序有问题,如何调试?(答GDB打开,打上Breakpoint进行调试) 四、设计模式 什么是设计模式?为什么使用设计模式? 列举常见的设计模式分类,并简要描述每个分类中的几个具体设计模式。 解释单例模式的概念和用途,以及如何实现单例模式。 什么是工厂方法模式和抽象工厂模式?它们之间有何区别? 解释装饰器模式和适配器...
一个linux的线程大概占8M内存。linux的栈是通过缺页来分配内存的,不是所有栈地址空间都分配了内存。因此,8M是最大消耗,实际的内存消耗只会略大于实际需要的内存(内部损耗,每个在4k以内)。 27.互斥量能不能在进程中使用? 不同的进程之间,存在资源竞争或并发使用的问题,所以需要互斥量。进程中也需...