logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

IO多路复用和并发服务器

传统的单线程阻塞模型,当调用recv后,如果没数据,程序就卡死不动了,只能处理一个链接;而IO多路复用使用非阻塞IO写作,用户态和内核态交互极少,不用创建大量线程,不用轮询所有连接,只有真正有事件的才处理,可以高效管理大量连接,提高并发性能。实现原理:fork模型:主进程监听链接,子进程处理请求,父子进程完全独立,崩溃互不影响;IO多路复用是一种单线程或者单进程管理多个文件描述符的技术,核心就是通

#网络
IO多路复用和并发服务器

传统的单线程阻塞模型,当调用recv后,如果没数据,程序就卡死不动了,只能处理一个链接;而IO多路复用使用非阻塞IO写作,用户态和内核态交互极少,不用创建大量线程,不用轮询所有连接,只有真正有事件的才处理,可以高效管理大量连接,提高并发性能。实现原理:fork模型:主进程监听链接,子进程处理请求,父子进程完全独立,崩溃互不影响;IO多路复用是一种单线程或者单进程管理多个文件描述符的技术,核心就是通

#网络
网络编程基础知识

这个是比较标准的网络协议模型,对比OSI的七层其实就是讲表示层和会话层合并至应用层,数据链路层和物理层合并叫网络接口层,所以总共是四层。2.LLC子层:也叫逻辑链路控制层,主要用来提供逻辑链路标识,实现流量控制和错误恢复(如滑动窗口协议)OSI七层协议模型其实是一种理想化的网络协议模型,实际应用的多是TCP/IP四层或五层协议族。这一层是网线、光纤、集线器这些硬件方面的东西,本质上就是传0和1的“

#网络#服务器#linux +1
线程的互斥与同步

信号量的值减1如果信号量的当前值大于 0,减 1 后函数直接返回(表示“获取资源成功”)如果信号量的当前值等于 0,sem_wait 会阻塞,直到有其他线程/进程调用sem_post函数,使得信号量值大于0后,再执行“减 1”并返回。无名信号量是一种用于线程同步或进程同步的工具,通过维护一个计数值来控制对共享资源的访问,可限制同时访问资源的线程或进程数量,通过原子的。死锁是指多个线程在执行过程中,

#linux#运维#服务器 +2
线程之多线程函数

进程是操作系统分配的最小单位,而线程是进程内部的执行单元,是操作系统CPU调度的最小单位,简单来说就是一个进程可以有多个线程。(默认,延时取消):线程不会立刻终止,直到下一个取消点(Cancellation Point)才响应。将线程设置为分离态,分离态下线程退出后系统自动回收其资源,无需调用pthread_join。ps:销毁后的属性可以重新初始化,不影响已创建的线程。(异步取消):线程收到请求

#开发语言#学习#linux +2
多进程相关函数

exit是库函数,用于正常终止进程,且satus & 0377会被返回给父进程,C标准规定了两个常量EXIT_SUCCESS和EXIT_FAILURE可被传给exit。优势:可以不阻塞、可以指定等待某个子进程,多进程开发必用。用来获取当前进程的父进程的进程号。、不执行 atexit 钩子。直接内核退出,不刷新缓冲区。用来获取当前进程的进程号。刷新缓冲区、调用钩子函数。_exit是系统调用,

#服务器#linux#运维
文件I/O

文件描述符是操作系统内核为每个打开的文件/设备分配的唯一整数标识符,用于标识和跟踪进程与文件的交互,在Linux/Unix中,它是底层文件IO操作的核心参数。系统 IO 是底层函数,用 fd,无缓冲,直接访问内核。标准 IO 是上层库函数,用 FILE*,带缓冲,效率更高。所有打开必须关闭,防止资源泄漏。read/write返回值必须判断,是编程安全关键。用来跳转文件读写位置。

#linux#运维#服务器 +1
到底了