Webserver
文章平均质量分 95
侠義芝士
这个作者很懒,什么都没留下…
展开
-
Webserver简易项目
Webserver组成部分这个项目,粗略的看可以分为下面几个部分建立socket通讯服务器处理与客户端的IO解析客户端的HTTP请求,并响应请求建立socket通讯Webserver服务器,肯定不可能只接收一个客户端的连接吧。所以这个项目是多线程并发同步执行的,而这之中就存在许多需要处理的细节,共享资源的访问,建立并维护线程池等。locker.h线程的主要优势在于,能够通过全局变量来共享信息。不过,这种便捷的共享是有代价的:必须确保多个线程不会同时修改同一变量,或者某一线程不会读原创 2022-02-27 21:56:18 · 4657 阅读 · 0 评论 -
Linux线程与网络编程
线程线程(thread)是允许应用程序并发执行多个任务的一种机制。一个进程可以包含多个线程。同一个程序中的所有线程均会独立执行相同程序,且共享同一份全局内存区域,其中包括初始化数据段、未初始化数据段,以及堆内存段。(传统意义上的 UNIX 进程只是多线程程序的一个特例,该进程只包含一个线程)线程是轻量级的进程(LWP:Light Weight Process),在 Linux 环境下线程的本质仍是进程。线程和进程的区别:进程是 CPU 分配资源的最小单位,线程是操作系统调度执行的最小单位。进原创 2021-10-03 21:01:25 · 189 阅读 · 0 评论 -
Linux文件和进程
文件虚拟地址空间从这张图片,有几个信息需要说一下第一:关于 int main(int argc, char* argv[]) ,以前可能编写“cin/cout”代码没遇到过,就提一下。其实就是在运行程序时,在后面添加的参数。argc表示参数个数,argv[]就是参数的集合例如Linux下有一个add的可执行程序,可以传入两个整型参数,会打印加之后的结果./add 10 20 如此运行程序即可第二:图片所示的4G空间,都是虚拟空间。其中栈空间的使用是从高地址往低地址,而堆空间则是从低地址原创 2021-09-24 16:31:46 · 439 阅读 · 0 评论