- 博客(19)
- 收藏
- 关注
原创 IO多路复用---epoll详解及示例
一、epoll系统调用epoll是Linux特有的I/O复用函数。它的实现和使用上与select、poll有很大的差异。注意epoll是使用一组函数来完成任务的,而不是单个函数。其次,epoll把用户关心的文件描述符上的事件放在内核的一个事件表里面,从而无需像select和poll那样每次调用都要重复传入文件描述符或事件集。二、内核事件表首先,epoll需要使用一个额外的文件描述符,来唯一表示内核中的这个事件表,这个文件描述符使用如下函数epoll_create函数来创建:#include<
2021-12-01 10:56:45 2924
原创 IO多路复用---poll详解及示例
一、poll系统调用poll和select采用的都是轮询的方式,即每次调用都要扫描整个注册文件描述符的集合,并将其中就绪的文件描述符返回给用户程序,因此他们检测就绪事件的算法的时间复杂度为O(n)。但是poll描述fd集合的方式与select不同,poll使用pollfd结构而不是select的fd_set结构。并且poll没有最大连接数的限制,原因是它是基于链表来存储的。二、poll原型及参数#include<poll.h>int poll(struct pollfd* fds,nfd
2021-11-24 12:37:39 1455
原创 IO多路复用---select详解及示例
一、IO多路复用I/O复用使得程序能同时监听多个文件描述符,这使得程序的性能得到了很大程度的提高。Linux下实现I/O复用的系统调用主要有select、poll、epoll。(这里注意:epoll是Linux系统所特有的)二、select系统调用select系统调用的用途:在一段时间内,监听文件描述符上的可读、可写、和异常时间的发生。本文主要介绍select系统调用API。三、select API及主要函数说明#include<sys/select.h>int select(in
2021-11-23 10:02:36 1633
原创 智能指针3-----》shared_ptr
shared_ptr是一个引用计数智能指针,用于共享对象的所有权,也就是说它允许多个指针指向同一个对象。这一点与原始指针一致。
2021-05-04 14:44:51 226
原创 智能指针2-----》unique_ptr
unique_ptr是一种定义在中的智能指针。unique_ptr可以独占它所指向的对象,所以不能进行复制操作,只能进行移动操作。unique_ptr和share_ptr类型的指针有很大的不同:share_ptr允许多个指针指向同一个对象;二unique_ptr在某一时刻只能有一个指针指向一个对象。unique_ptr对象中保存指向某个对象的指针,当它本身被删除或者离开其作用域是会自动释放其所指对象所占的资源。unique_ptr源码仿写:#include<iostream>usi
2021-05-03 16:43:17 384 2
原创 智能指针-----》auto_ptr
智能指针:c11里面的四个智能指针:auto_ptr,unique_ptr,shared_ptr,weak_ptr其中后三个是c11支持的,并且第一个已经被c11弃用。本博客主要讲auto_ptr,后面会持续更新其他智能指针。c98中auto_ptr所做的事情就是动态分配对象以及当对象不再需要时自动执行清理。auto_ptr 源码:#include <iostream>#include<vector>using namespace std;namespace wwn
2021-05-01 01:40:13 165
原创 linux---------》进程创建:fork与vfork
一、fork;在UNIX系统里。只有一个系统调用可以用来创建新进程:fork。这个系统调用会创建一个与调用进程相同的副本。创建的进程称为父进程,被创建的进程则称为子进程。两个进程拥有相同的内存映射、相同的环境字符串和同样的打开文件。1、fork被调用一次,返回两次,#include<unistd.h> pid_t fork(void); 返回值:子进程返回0,父进程返回子进程ID;若出错,返回-1;2、linux的fork();使用写时拷贝页实现的。写时拷贝是一种延迟拷贝甚至于免除拷贝的
2021-04-04 00:19:14 172
原创 《Java---------java环境搭建》
JDK安装流程链接:https://pan.baidu.com/s/1IWHMyFyQ0lPL-eWtELLB4A提取码:1rgb复制这段内容后打开百度网盘手机App,操作更方便哦1)点击jdk-8u144-window-x64.exe2)点击下一步3)更改路径因为C盘作为系统的启动盘 会在启动系统的过程中从硬盘提取文件到内存中 如果系统盘内存过小 则会造成启动系统进程过程缓慢 除此之外 如果计算机出现异常情况需要进行系统还原 只会对系统盘所处的硬盘进行格式化或是系统还原 而对其他盘符不
2020-09-15 23:26:59 155
原创 TCP协议的编程流程
TCP协议的编程流程:服务器端int socket();//创建一个套接字,用于监听客户端的连接定义一个表示服务器的地址结构的变量int bind();//将创建的监听套接字与服务器的地址信息绑定int listen();//分配内核资源,然后启动监听ps:listen的第二个参数是指定内核分配的维护已完成连接的客户端的个数内核分配两个队列:1、正在完成连接的队列2、已完成连接的队列int accept();//accept不是和一个客户端完成连接,从内核维护的已完成连接的队列中获取一个连
2020-09-13 23:58:27 631
原创 空间换时间2
1、写一个函数返回bool值,来判断给定的字符串A和B(假设都是小写字母),是否是B中的字符都存在于A中,如果是返回true,否则返回false2、将字符串中连续的空格删除,只保留一个空格.例如"a b c d"->"a b c d"/空间换时间**3、字符后移,但不能改变非’‘字符的先后顺序,函数返回串中非’'字符的数量。(要求尽可能的占用少的时间和辅助空间)...
2020-04-11 23:18:12 146
原创 位运算总结以及空间换时间1
位总结:1、位运算符号&,|,^,~(取反,不分正负数),<<(标准规定在右边补0),>>(正数则左边补0,负数标准没有规定在左边补充的数字,分为逻辑右移和算术右移,具体由编译器决定,windows平台和gcc采取算术右移即负数补1)12 0000 110013 0000 1101~12 1111 001112&a...
2020-04-10 22:13:31 203
原创 字符串的有关问题(补充:求素数/选择法排序)
字符串操作崩溃原因:1.内存不足(数组长度不够)char str1[] = “abc”;//char str2[] = “xyz”;Mystrcat(str1,str2);printf("%s\n",str1);2.修改字符串常量的值char *str1 = “abc”;//字符串常量,不能修改char *str2 = “xyz”;Mystrcat(str1,str2);pri...
2020-04-09 23:08:32 193
原创 swap交换两个数值的方法
关于Swap两个数交换的几种办法总结:1、2、通过交换对应的指针3、4、不使用第三个变量交换数值5、利用巧妙的数值计算进行转化今个就总结这个吧!!!...
2020-04-08 23:09:33 1001
原创 ->类型转换
营业营业,继续营业今天补充一点类型转换:显示转换:隐式转换:在同一个运算符中,操作数类型一样1.整数默认为int,小数默认为double2.char,short,int ,long,float,long long,double 由窄变宽.3.标准规定相同类型,无符号比有符号宽(unsigned int) > (int)4.不同类型在进行运算时,窄类型向宽类型转换宽类型转窄类...
2020-04-07 22:46:19 140
原创 打卡->结构体笔记
今日准时营业今天补充一点关于结构体的笔记自定义数据类型结构体:struct 类型名{各成员};例如:结构体普通变量通过".“访问其成员结构体指针变量通过”->“访问其成员结构体进行参数传递时都是传递指针,不传本身,节约空间C有两个自带*的符号,”[]","->".因为p[i] == *(p+i) ;p->age == (*p).age从键盘输入结构...
2020-04-05 23:22:28 127
原创 Two Day今日程序学习记录->关于指针的一点问题以及16进制转10进制
今天又是偷懒的一天呀!!!不过还是按时营业了,今天记录一点关于指针方面的一些问题都是一些很基础的问题;一、在定义指针类型时候一些问题优先级数组:长度,每个单元格数据类型指针:指向的内容函数:参数列表,返回值C标准规定:函数名本身也表示函数的入口地址位移:将长度为n的数组arr,最后的m个数字移到最前面//内存重叠,移数据需要注意方向不等长字符串排序问题游戏:从第一...
2020-04-03 23:22:42 220
原创 记录编程生活的一个大学党(文件)
大学党小菜鸡学习之路文件铛铛铛铛,,程序员生涯正式开始!!!学习第一期->C语言,咳咳咳…关于为什么是从文件开始写的…嘿嘿嘿,当然是因为前一段时间有一点小忙还有一点点小懒!不过从今天开始,我会努力更新的,之前的一下内容也会补充作为一个才学程序的大学党小菜鸡…当然是从基础说起啦…今天说说文件…文件:文件名:**文本文件:**能直接通过记事本查看**二进制文件:**大多数,需...
2020-04-02 23:39:29 226 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人