- 博客(9)
- 资源 (4)
- 收藏
- 关注
原创 c++线程异步通信
使用到的模板std::async()std::future()std::async()是一个函数模板,用来启动一个异步线程,std::future是std::future返回的一个对象。其中std::future对象中包含线程入口函数锁返回的结果,可以调用std::future的成员函数get()获取结果。使用到的头文件#include<future>实际使用#include <iostream>#include <future>#include &
2022-01-14 15:35:28 1511
原创 c++多线程 加锁(仅供自己复习使用)
解决死锁的方法1、使用互斥量的时候使用的顺序必须相同,不同就会出现死锁现象。2、使用std::lock(mutex ...)函数,一次性同时对多个互斥量加锁,也就不存在顺序的问题,但是这样做完之后需要一个一个的解锁,比较麻烦。int main(){ mutex mtx1,mtx2; vector<int> val; for(int i = 0;i < 10;++i) { std::lock(mtx1,mtx2); //同时加锁 val.emplate_back(i
2022-01-13 20:28:17 4081
原创 c++11中的std::move()和std::forword()
在了解二者之前需要先了解一下左值右值的概念。这是学习二者的基础。1、左值与右值的概念引用c语言中的概念:左值既可以出现在等号左边又可以出现在等号右边,而右值则只能出现在等号右边,这就是二者的区别。左值的特点:可以寻址的变量,可持久性。右值的特点:不能寻址的常量,或者是表达式求值过程中创建的无名临时对象、或者短暂性的。2、左值引用与右值引用左值引用:引用的是一个对象右值引用:必须绑定到右值的引用,可实现“移动语义”,通过"&&"获取右值引用。int x = 5; //x为左
2022-01-13 15:41:17 436 1
转载 C++11 实现简单的线程池
C++11 实现简单的线程池需要提前了解一些C++11的线程知识线程池设计思想需要提前了解一些C++11的线程知识需要提前了解,thread 的创建,mutex的基本使用,unique_lock与mutex绑定,函数对象化包装(function),移动语义。线程池设计思想线程池首先需要进行初始化,本代码初始化了5个线程(手动指定),开始5个线程会被阻塞,等待任务队列中有任务,任务存储在queue队列中,当队列中有任务的时候,会唤醒一个线程来处理此任务。任务队列大小本程序指定了3个。MyThread
2021-11-09 19:10:32 184
原创 Go学习笔记
标准的项目结构Golang中创建标准Go项目--项目名称 --src --包名 --xx.go --.... --main.go --bin 存放小工具 --pkg 系统编译后生成的内容开发过程中的配置Go语言在寻找包的时候会从GOPATH/src路径,如果不存在就从GOROOT/src(GO语言标准源码)中寻找。在IDER中的配...
2021-08-01 17:19:57 468
原创 关于页表,页表项,页框号(物理块号)的理解
今天看到一个关于分页系统中页表项的计算问题。首先要了解页表项是由【页号】【页框号】组成,因为是分页系统每一个页面大小都是一样的所以可以根据逻辑地址的大小推算出【页号】,也就是说页表项中的【页号】可以省略。下边给出一个例子:一个32位系统分页系统,页面大小为4KB,则100MB的进程其页表大小为多少,占多少个页面存储页表?【页面大小】为4KB,既212B 也就是说占了12个bit , 进而可以计算出【页号】为220B 即占了20个bit,因为逻辑地址是由【页号】【页内偏移量】(页面大小)组成,【页框号
2020-07-03 23:28:19 50373 15
原创 Ubuntu 18.04安装Go
安装1、下载Go安装包https://golang.google.cn/dl/(根据自己的需求选择自己需要的版本,下边演示的是安装1.13.5-liunx-amd64版)2、将安装好的安装包go1.13.5.linux-amd64放到/usr/local目录下可以直接按照tar -zxvf go1.13.5.linux-amd64进行解压缩,如果liunx不是很好的画可以按照一下操作。(1)...
2020-01-05 15:03:49 454
原创 抓住2019的小尾巴立一个flag
这一年的回顾今年我大三,一个普通二本学校的学生,当年因为高考没发挥好所有大学以来一直很努力的学习,我是学计算机的所以有很多课程都是自己学的,老师讲的课程也不经常听,值得庆幸的自学我也学到了很多的东西,但是近段时间发现之前学过的一些东西现在基本上都已经忘了,想看看之前学习留下的痕迹却发现很少,现在已经是2019年的年尾了,我想立一个flag 从今天起我要每周坚持写博客,记录我的学习经历。回想一下...
2019-12-31 21:39:23 186 4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人