![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 84
X 、case
这个作者很懒,什么都没留下…
展开
-
Linux并发处理方式——多路复用之epoll
Linux并发处理方式——多路复用之epoll前言:自Linux 2.6内核正式引入epoll以来,epoll已经成为了目前实现高性能网络服务器的必备技术,在大数据、高并发、集群等一些名词唱得火热之年代,select和poll的用武之地越来越有限,风头已经被epoll占尽。select的缺点:单个进程能够监视的文件描述符的数量存在最大限制,通常是1024,当然可以更改数量,但由于select采用轮询的方式扫描文件描述符,文件描述符数量越多,性能越差;内核 / 用户空间内存拷贝问题,select需原创 2021-07-28 21:59:57 · 360 阅读 · 0 评论 -
Linux并发处理方式——多线程pthread
Linux并发处理方式——多线程pthread前言:简单来说,线程是进程的一条执行路径,在Unix系统下也叫做轻量级进程。所有的线程都在同一个进程下运行的,所以所有线程都可以共享进程里的资源,同时每个线程也有属于自身的栈空间、寄存器环境等等,每个线程执行着自己的任务。这时候又不得不考虑进程里面的资源分配问题了,如何解决死锁问题;父进程与子进程之间的关系,如何关闭子线程。一、相关函数1、父、子线程主线程和子线程的默认关系是:无论子线程执行完毕与否,一旦主线程执行完毕退出,所有子线程执行都会终止。这时原创 2021-07-25 23:34:02 · 1237 阅读 · 0 评论 -
C语言——链表堆栈
C语言——链表堆栈本文章在这里介绍一个链表,其中的功能包括,压栈、出栈、销毁三个功能。一、压栈(push)压栈的基本思想就是头插法的方法,首先在这个过程中包括了头节点、第一个节点和新节点三个角色。在这里我们需要了解一下程序在运行的时候,内存的空间分配是什么情况。我们知道对于一个32位系统来说,一个进程能分配的最大内存大小为4G(虚存),其中的我们需要明白全局变量,局部变量,静态的内存分配位置。对于全局变量和静态而言,它们是分配在数据段,数据段在运行时又分为bss、data和rodata三个段,这些量原创 2021-07-13 11:11:12 · 425 阅读 · 0 评论