- 博客(19)
- 收藏
- 关注
原创 简易线程池的实现
1.首先我们创建一个任务类。//回调函数typedef int(*cal_t)(int,int);class Task{ private: int x;//操作数1 int y;//操作数2 int z;//运算结果 cal_t handler_task;//运算操作 public: Task(int a,int b,cal_t handle...
2018-11-30 18:01:33 285
原创 linux线程基本概念及线程控制
文章目录1.初始线程1)线程的概念2)进程与线程的关系1.初始线程1)线程的概念在一个进程里的一个执行路线被称为线程,更专业的说是:线程是一个进程内部的控制序列,并且一个进程中至少有一个线程。2)进程与线程的关系进程:Linux系统中的进程被称为轻量级进程,CPU眼中的看到的PCB要比传统进程更加轻量级。透过进程虚拟地址空间可以看到进程的大部分资源将进程资源合理分配给每个执行流就形成了线...
2018-11-28 14:56:34 246
原创 Linux进程控制
文章目录1.进程创建1)fork函数2)调度算法了解3)fork的写时拷贝4)fork调用失败原因5)vfork函数2.进程等待1)进程等待的必要性2)进程等待的方法1>wait2>waitpid3)返回值4)参数1>pid2>st
2018-11-28 11:10:50 247
原创 Linux进程
文章目录1.进程基本概念2.进程组成3.管理方式:先描述再组织。1)描述进程2)组织进程4.查看进程<1>使用`ps aux | grep 文件1 获取文件1的进程信息<2> top:动态查看进程的变化5.通过系统调用获取进程标识符号6.进程的状态1)常见状态2)进程状态修改7.僵尸进程1)概念
2018-11-28 10:49:37 218
原创 C++string类模拟实现与深浅拷贝
文章目录1.深浅拷贝1)深浅拷贝的引入2)浅拷贝3)深拷贝a.传统写法b.现代写法4)写时拷贝2.string的模拟实现String.hString.cc1.深浅拷贝1)深浅拷贝的引入观察下面的代码:class String{public: String(const char* str = "") { // 构造string类对象时,如果传递nullptr指针,认为程序非法,此处...
2018-11-24 19:21:22 529
原创 C++string类初识及其常用接口说明
文章目录1.初识string类1)为什么c++不使用c语言中的字符串?2)string类基本了解2.string类的常用接口1)string类对象的常见构造a.常用构造了解b.常用构造测试2)string类对象的容量操作a.容量操作了解b.容量操作测试c.注意事项d.可以使用reserve提高插入数据时的效率,避免增容的开销。3)string类对象的访问操作a.访问接口了解b.测试4)string...
2018-11-24 12:07:01 1220
原创 【数据结构】搜索二叉树的实现
BinarySortTree.h#ifndef __BINARYSTREE_H__#define __BINARYSTREE_H__#include <stdio.h>#include <malloc.h>#include <assert.h>#include <stdlib.h>typedef int BSDataType;...
2018-11-23 11:01:00 195
原创 【c++】模版初了解
文章目录1.泛型编程的引入2.模版1)函数模版1&gt;概念2&gt;函数模版格式3&gt;函数模版的原理4&gt;函数模版的实例化《1》 隐式实例化:让编译器根据实参推演模板参数的实际类型《2》显式实例化:在函数名后的&lt;&gt;中指定模板参数的实际类型5&gt; 模板参数的匹配原则2)类模版1.泛型编程的引入当我们想实现一个交换函数时,但要考虑多种类型,怎么实现一个通用的交换类型呢
2018-11-20 21:22:16 158
原创 【c语言】volatile关键字
文章目录1)作用:可以防止编译器进行优化,保证内存的可见性。2)应用场景:用于多线程或多CPU编程。1)作用:可以防止编译器进行优化,保证内存的可见性。引入:const修饰变量,变量的值不可更改,但是可以使用指针取地址进行改值。#include&amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;gt;int main(){ const int n = 10; int *p = (int *)&
2018-11-13 19:17:50 149
原创 Linux信号的产生、阻塞与捕捉
文章目录1.信号的基本概念1)理解什么是信号?2)信号列表2.信号的产生1)产生信号的方法概述2)终端产生信号3)调用系统函数向进程发信号kill命令raise函数abort函数4)软件条件产生信号3.阻塞信号1)信号其他相关常见概念2)在内核中的表达3)sigset_t4)信号集操作函数5)sigprocmask函数6)sigpending函数1.信号的基本概念1)理解什么是信号?⽤户...
2018-11-06 17:00:15 334
原创 【数据结构】位图与布隆处理器
文章目录1.位图的实现BitMap.hBitMap.c2.布隆的实现BloomFilter.hBloomFilter.c1.位图的实现BitMap.h#ifndef __BITSET_H__#define __BITSET_H__#include<stdio.h>#include<stdlib.h>#include<assert.h>#in...
2018-11-05 16:54:07 157
原创 【数据结构】搜索二叉树的key-value模型
文章目录1. 采用key-value模型判断一个单词是否拼写正确,并且显示翻译BSVTree.hBSVTree.c2. 采用key-value模型才能求出文章中所有单词重复出现的次数呢?BSVTree.hBSVTree.c1. 采用key-value模型判断一个单词是否拼写正确,并且显示翻译BSVTree.h#pragma once#include &lt;stdio.h&gt;#in...
2018-11-05 16:42:31 1589
原创 【数据结构】堆的实现
文章目录Heap.hHeap.cTest.cHeap.h#ifndef __HEAP_H__#define __HEAP_H__#include&lt;assert.h&gt;#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#include&lt;malloc.h&gt;typedef i
2018-11-05 16:25:10 128
原创 【数据结构】二叉树基本操作
文章目录BinaryTree.hBinaryTree.cTest.c栈和队列的相关函数:栈:https://blog.csdn.net/weixin_41892460/article/details/82973851队列:https://blog.csdn.net/weixin_41892460/article/details/82973881BinaryTree.h#ifndef __...
2018-11-05 16:22:41 352
原创 【数据结构】双向链表的实现
文章目录LinkList.hLinkLish.cLinkList.h#ifndef __LINKLIST_H__#define __LINKLIST_H__#include <stdio.h>#include <stdlib.h>#include <assert.h>typedef int DataType;typedef struct L...
2018-11-05 16:01:35 167
原创 【数据结构】实现一个栈要求实现Push(出栈)Pop(入栈)Min(返回最小值)的时间 复杂度为O(1)
文章目录MinStack.hMinStack.cTest.c栈的基本实现:https://blog.csdn.net/weixin_41892460/article/details/82973851MinStack.h#ifndef __MINSTACK_H__#define __MINSTACK_H__#include &lt;stdio.h&gt;#include &lt...
2018-11-05 15:53:23 595 1
原创 【数据结构】复杂链表的复制
单链表的实现:https://blog.csdn.net/weixin_41892460/article/details/82855823文章目录1.什么是复杂链表?一个链表的每个节点,有一个指向next指针指向下一个节点, 还有一个random指针指向这个链表中的一个随机节点或者NULL。typedef struct ComplexNode{ DataType _data; str...
2018-11-05 15:39:00 129
原创 【c/c++】内存管理
文章目录1.c/c++内存分配2.C语言中动态内存管理方式malloc/calloc/realloc与free3.C++内存管理方式3.1new/delete操作内置类型3.2new和delete操作自定义类型4.operator new与operator delete函数5.new和delect的实现原理5.1内置类型5.2自定义类型6.定位new表达式(placement-new)7.常见面试...
2018-11-03 21:07:09 259
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人