草庐IT

[自制操作系统] 第15回 实现内核线程

目录一、前景回顾二、线程的实现三、线程的切换四、运行测试 一、前景回顾  上一回我们实现了内存管理系统,说实话代码还是比较多,看起来还是比较头疼的,不过为了知识这都是小事。这一节终于可以来实现我们的线程了,以前学操作系统的时候,听到的最多的就是什么线程,进程等,这一回我们来自己动手实现一下,加深对线程的理解。二、线程的实现  我相信能认真去看这篇博客的同学,不会是零基础。所以我也就不再深入地去讲解进程和线程的区别。这里我引入书中的话:  线程是什么?具有能动性、执行力、独立的代码块。  进程是什么?进程=线程+资源。  先贴上代码,在project/kernel目录下新建list.c、list

vue大型电商项目尚品汇(后台篇)day01

开始我们后台篇的内容,前面处理了一些事情,去学校完成授位仪式,由校长授位合影,青春不留遗憾,然后还换了一个电脑,征战了四年的神船终于退役了,各种各样的小毛病是真的烦人。现在正式开始后台篇的内容,做了今天总体的感觉后台部分大难度没有,但是要考虑一点就是对于elementUI的熟练程度,要把这个练得比bootstrap还熟悉,虽然bootstrap也没有多熟悉,但是这个必须熟悉,毕竟工作用得多一.组件通信高级(面试必备)1.复习复习一下目前已经学习过的组件通信props:父给子传,但是需要注意的是父给子传的是函数那么这是自定义事件的前兆,只有当父给子传的是非函数才是props传递数据,他有三种书写

vue大型电商项目尚品汇(后台篇)day01

开始我们后台篇的内容,前面处理了一些事情,去学校完成授位仪式,由校长授位合影,青春不留遗憾,然后还换了一个电脑,征战了四年的神船终于退役了,各种各样的小毛病是真的烦人。现在正式开始后台篇的内容,做了今天总体的感觉后台部分大难度没有,但是要考虑一点就是对于elementUI的熟练程度,要把这个练得比bootstrap还熟悉,虽然bootstrap也没有多熟悉,但是这个必须熟悉,毕竟工作用得多一.组件通信高级(面试必备)1.复习复习一下目前已经学习过的组件通信props:父给子传,但是需要注意的是父给子传的是函数那么这是自定义事件的前兆,只有当父给子传的是非函数才是props传递数据,他有三种书写

开发日志01-后端以文件流的形式供前端下载

需求:本地有一个生成sql脚本的文档,预留了很多类似{{xxx}}需要替换的地方。该需求是需要前端传入响应的值替换掉模板中预留的需要被替换的位置最后通过Post请求返回给前端一个供其下载一个.sql脚本文件实现步骤1、首先,考虑到打包后的路径问题想到了SpringBoot工程下的Resource目录下所以我们需要的模板文件跟提供给前端下载的文件就放在Resource目录下的static文件夹里//于是我就写了一个方法用于提取该路径//用到了SpringApplicationHome类的方法publicStringgetSavePath(){ApplicationHomeapplicationH

开发日志01-后端以文件流的形式供前端下载

需求:本地有一个生成sql脚本的文档,预留了很多类似{{xxx}}需要替换的地方。该需求是需要前端传入响应的值替换掉模板中预留的需要被替换的位置最后通过Post请求返回给前端一个供其下载一个.sql脚本文件实现步骤1、首先,考虑到打包后的路径问题想到了SpringBoot工程下的Resource目录下所以我们需要的模板文件跟提供给前端下载的文件就放在Resource目录下的static文件夹里//于是我就写了一个方法用于提取该路径//用到了SpringApplicationHome类的方法publicStringgetSavePath(){ApplicationHomeapplicationH

因势而变,因时而动,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang泛型(generic)的使用EP15

事实上,泛型才是Golang1.18最具特色的所在,但为什么我们一定要拖到后面才去探讨泛型?类比的话,我们可以想象一下给小学一年级的学生讲王勃的千古名篇《滕王阁序》,小学生有多大的概率可以理解作者的青云之志以及壮志难酬的愤懑心情?恐怕很难罢,是的,如果对Golang的强类型语法没有一段时间的体验期,就很难理解泛型这种“反”静态语言概念。基本概念什么是泛型?泛型泛型,顾名思义,泛用的类型,说白了,就是在静态类型语言环境使用动态类型语言的特性:packagemainimport( "fmt")funcsum(astring,bstring)string{ s:=a+b returns}funcma

因势而变,因时而动,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang泛型(generic)的使用EP15

事实上,泛型才是Golang1.18最具特色的所在,但为什么我们一定要拖到后面才去探讨泛型?类比的话,我们可以想象一下给小学一年级的学生讲王勃的千古名篇《滕王阁序》,小学生有多大的概率可以理解作者的青云之志以及壮志难酬的愤懑心情?恐怕很难罢,是的,如果对Golang的强类型语法没有一段时间的体验期,就很难理解泛型这种“反”静态语言概念。基本概念什么是泛型?泛型泛型,顾名思义,泛用的类型,说白了,就是在静态类型语言环境使用动态类型语言的特性:packagemainimport( "fmt")funcsum(astring,bstring)string{ s:=a+b returns}funcma

PowerDotNet平台化软件架构设计与实现系列(01):基础数据平台

本系列我将主要通过图片和少许文字讲解通过个人自研的PowerDotNet进行快速开发平台化软件产品。PowerDotNet不仅仅是包含像Newtonsoft.Json、Dapper、Quartz、Redis、ZooKeeper、ElasticSearch、ETCD、Autofac、JWT、MyBatis、EF、RabbitMQ、ObjectPool、Hessian、Thrift、gRPC、SuperSocket等流行的类库和组件,像ABP、SpringBoot之类的开发框架套件和工具,它还是一整套完善的前后端(支持传统BS和CS结构,也支持H5和APP)快速开发和简易运维解决方案。它的最大优势

PowerDotNet平台化软件架构设计与实现系列(01):基础数据平台

本系列我将主要通过图片和少许文字讲解通过个人自研的PowerDotNet进行快速开发平台化软件产品。PowerDotNet不仅仅是包含像Newtonsoft.Json、Dapper、Quartz、Redis、ZooKeeper、ElasticSearch、ETCD、Autofac、JWT、MyBatis、EF、RabbitMQ、ObjectPool、Hessian、Thrift、gRPC、SuperSocket等流行的类库和组件,像ABP、SpringBoot之类的开发框架套件和工具,它还是一整套完善的前后端(支持传统BS和CS结构,也支持H5和APP)快速开发和简易运维解决方案。它的最大优势

2022.01.18.类之间的横向关系

组合:部分与整体,包含与被包含有生命周期约束关系它是一种“isapartof”的关系(部分与整体)。组合是一个类中包含另一个类对象。相比聚合,组合是一种强所属关系,组合关系的两个对象往往具有相同的生命周期,被组合的对象在组合对象常见的同时或者之后创建,在组合对象销毁之前销毁,一般来说,被组合对象不能脱离组合对象独立存在,整体不存在,部分一定不存在通常在组合类中包含被组合类随想来实现组合关系 classCHand{public:voidmove(){cout"小手拍动"endl;}};classCPeople{public:CHandm_hand;voidclap(){m_hand.move()