- 博客(24)
- 资源 (8)
- 收藏
- 关注
转载 GO 互斥锁实现原理剖析
1. 前言互斥锁是并发程序中对共享资源进行访问控制的主要手段,对此Go语言提供了非常简单易用的Mutex,Mutex为一结构体类型,对外暴露两个方法Lock()和Unlock()分别用于加锁和解锁。Mutex使用起来非常方便,但其内部实现却复杂得多,这包括Mutex的几种状态。另外,我们也想探究一下Mutex重复解锁引起panic的原因。按照惯例,本节内容从源码入手,提取出实现原理,又...
2020-04-18 04:40:18 360
原创 C++对象数组调用带参数的构造函数
C++分配数组调用带参数的构造函数#include <iostream>using namespace std;class CStudent{public: CStudent(int num):age(num){} int age;};int main(int argc, char const *argv[]){ cout << "====...
2020-04-13 22:38:42 4908
原创 代理模式
概述 为其他对象提供一种代理以控制对这个对象的访问。适用性 1.远程代理(RemoteProxy)为一个对象在不同的地址空间提供局部代表。 2.虚代理(VirtualProxy)根据需要创建开销很大的对象。 3.保护代理(ProtectionProxy)控制对原始对象的访问。 4.智能指引(SmartReference)取代了简单的指针...
2020-04-13 21:52:44 138
原创 状态模式
状态模式概述 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。适用性 1.一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为。 2.一个操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态。 这个状态通常用一个或多个枚举常量表示。 通常,有多个...
2020-04-13 21:23:27 247
转载 source insight 4.0的基本使用方法
一、项目管理1、新建一个项目快捷键Alt+Shift+N可以打开新建项目对话框,然后根据提示填好项目存储位置,源文件位置等,然后会出现添加删除项目文件对话框,选中自己想要编辑和浏览的文件添加即可,这样就建好了一个项目。2、添加和删除项目文件(1)、在添加删除文件前,可以先设置文件过滤器,菜单栏-选项-文档选项,就可以看到文件过滤器了,怎么设置应该是一目了然的。(2)、菜单栏-项...
2020-04-13 16:10:05 471
转载 Sublime text3配置C/C++编译环境
安装sublime text3后,一直很喜欢使用它看代码(这个高亮配色真的很好看)。它默认的运行环境就有C/C++,在写了一个hello world!后正常输出,但在加入scanf()输入后就不行了。在网上搜了一下,这个问题好像无解,只能自己安装gcc/g++,然后配置一下,通过调用命令窗口解决。这里简单记录一下配置过程。1.准备工作1.1 下载sublime text3,并安装1.2...
2020-04-12 23:47:44 709
转载 Qt 5学习之路
序 Qt 前言 Hello, world! 信号槽 自定义信号槽 Qt 模块简介 MainWindow 简介 添加动作 资源文件 对象模型 布局管理器 菜单栏、工具栏和状态栏 对话框简介 对话框数据传递 标准对话框 QMessageBox 深入 Qt5 信号槽新语法 文件对话框 事件 事件的接受与忽略 event() 事件过滤器 事件总结 自定义事...
2020-04-12 03:07:33 300
转载 VSCode JAVA运行设置
1: 下载VSCODE#本来我写过一个 vscode 编写java 帖子,但是 还是很多人私信我,下面写一个手把手教程原文地址:https://www.cnblogs.com/dgwblog/p/9117850.html最新下载地址:https://code.visualstudio.com建议一般不要下载安装包安装,这里推荐压缩包安装方式. Win64 10 环境1....
2020-04-11 00:23:21 29959 1
原创 操作系统学习资料
1.《Linux内核完全剖析》,书的内容以Linux0.11为基础2.《操作系统真象还原》,从零实现一个操作系统,讲解相当精彩。https://www.jb51.net/books/553086.html?pc3.MIT操作系统工程的教学操作系统Xv6的源码https://github.com/deyuhua/xv6-book-chineseFAT12文件系统之数据存储方式详解h...
2020-04-10 01:59:37 248
原创 网易云音乐下载
# _*_ coding : UTF-8 _*_# 开发人员 : jadeshu# 开发时间 : 2019/11/23 2:29# 文件名称 : test.py# 开发工具 : PyCharmimport osimport reimport requestsfrom scrapy.selector import Selectorclass wangyi...
2020-04-10 01:56:45 190
原创 同步异步、阻塞和非阻塞、网络模型
同步异步、阻塞和非阻塞是两套概念,容易混淆。同步异步是进程和内核之间阻塞和非阻塞是进程在访问数据时候,根据IO操作的就绪状态来采取的不同方式1.同步和异步 同步和异步是针对应用程序和内核的交互来说的,同步指的是用户进程触发IO操作并等待或者轮询的去查看IP操作是否就绪,而异步是指用户进程触发IO操作以后便开始做自己的事情,交给OS,而当IO操作完成时会得到IO完成的通知。...
2020-04-10 01:53:46 534
原创 模板方法模式
定义一个操作中的算法骨架,而将一些步骤延迟到子类中。TemplateMethod使得子类可以不 改变一个算法的接口即可重定义改算法的某些特定步骤。实例#include <iostream>using namespace std;class Base{public: Base(/* args */) {} virtual ~Base() {}...
2020-04-08 23:58:34 495
原创 设计模式总结
名称 中文名称 意图 创建型模式 Abstract Factory 抽象工厂 提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。(别名:Kit) Builder 生成器 ...
2020-04-08 23:11:12 124
原创 适配器模式
适配器模式实例:将220V电压转换为36V电压,中间加了适配器即可// 适配器模式// 将220V电压转换为36V电压实例#include <iostream>using namespace std;// 需要转换的对象class CPower220 {public: CPower220(/* args */) {} virtual ~CPower2...
2020-04-07 21:35:40 164
原创 组合模式
适用于:单个对象和组合对象的使用具有一致性,将对象组合成树形结构以表示“部分-整体”。Component(树形结构的节点抽象)---为所有的对象定义统一的接口(公共属性,行为等定义)---提供管理子节点对象的接口方法---【可选】提供管理父节点对象的接口方法Leaf(树形结构的叶节点)Component的实现子类Composite(树形结构的支节点)Componen...
2020-04-06 22:47:29 154
原创 原型模式
C++代码#include <iostream>using namespace std;class CPrototype {public: virtual CPrototype* Clone() = 0; virtual ~CPrototype(){}};class CPtypeA : public CPrototype {public: CPtype...
2020-04-06 01:51:37 169
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人