- 博客(11)
- 收藏
- 关注
原创 深入理解Unix下的五种I/O网络模型
Unix下的五种I/O网络模型分别为:(1)阻塞式I/O(2)非阻塞式I/O(3)I/O多路复用(4)信号驱动式I/O(5)异步I/O为什么会有这5种I/O模型?明确两点:网络I/O会涉及到两个系统对象:(1) 用户空间 调用的IO进程/线程;(2) 内核空间 的内核系统;I/O操作会经历两个阶段:(1) 等待数据准备就绪;(2) 将数据从内核拷贝到进程或者线程;上述两个步骤是针对read操作,如果是write,则I/O的两个阶段为:(1) 等待写缓冲区可写;(2)
2020-12-18 23:55:19 195 2
原创 网络编程之socket套接字详解
1. socket:(1)函数原型:#include <sys/types.h>#include <sys/socket.h>int socket(int domain, int type, int protocol);(2)参数:socket函数用于创建一个套接字,这是在应用层调用的,所以应用程序需要在调用socket创建套接字时根据应用层的业务类型,指定它所希望采用的网络层、传输层所使用的的协议。内核中套接字是一层一层进行抽象展示的,把共性的东西抽取出来,这样
2020-12-18 00:15:30 1136
原创 函数指针与指针函数:从pthread_create说起
Linux线程创建函数的定义是这样的:int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg);其中的第三个参数void *(*start_routine)(void *)该如何理解?一、函数指针与指针函数:函数指针:本质是指针,指向一个函数的指针。用法:int (*p)(int, int); //定义一个函数指针i
2020-12-12 16:42:58 727
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人