摘要: 上一篇末尾提到了Awaiter这个类型,上一篇说了,能await的对象,必须包含GetAwaiter()方法,不清楚的朋友可以看上篇文章。那么,Awaiter到底有什么特别之处呢? 首先,从上篇文章我们知道,一个Awaiter必须实现INotifyCompletion接口,这个接口定义如下: nam 阅读全文
posted @ 2022-03-01 11:55 白烟染黑墨 阅读(6647) 评论(7) 推荐(26) 编辑
摘要: 考虑到直接讲实现一个类Task库思维有点跳跃,所以本节主要讲解Async/Await的本质作用(解决了什么问题),以及Async/Await的工作原理。实现一个类Task的库则放在后面讲。首先回顾一下上篇博客的场景。 class Program { public static string GetM 阅读全文
posted @ 2021-04-10 19:11 白烟染黑墨 阅读(3726) 评论(6) 推荐(19) 编辑
摘要: 一、什么算异步? 广义来讲,两个工作流能同时进行就算异步,例如,CPU与外设之间的工作流就是异步的。在面向服务的系统中,各个子系统之间通信一般都是异步的,例如,订单系统与支付系统之间的通信是异步的,又如,在现实生活中,你去馆子吃饭,工作流是这样的,点菜->下单->做你的事->上菜->吃饭,这个也是异 阅读全文
posted @ 2021-03-28 16:52 白烟染黑墨 阅读(4131) 评论(10) 推荐(18) 编辑
摘要: 一、选择版本 GitLab 12.2或更高版本: docker exec -t gitlab-backup create GitLab 12.1和更早版本: gitlab-rake gitlab:backup:create 1. 查看版本方法 进入到容器内部,执行以下命令。 cat /opt/git 阅读全文
posted @ 2020-12-09 15:07 白烟染黑墨 阅读(1042) 评论(0) 推荐(0) 编辑
摘要: 上下文无关文法 定义: 上下文无关文法G是一个四元组,\(G=(V_T,V_N,S,P)\),其中 \(V_T\):终结符(Terminal)非空集合 \(V_N\):非终结(Nonterminal)非空集合,且$V_T \cap V_N=\oslash$ S:文法的开始符号,\(S\subset 阅读全文
posted @ 2020-12-06 21:53 白烟染黑墨 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 本科是网络工程,由于没有学<<编译原理>>这门课,打算两个月把国科大的编译原理梳理完,把其中我认为的精髓概括一下,三天一篇,作为笔记。 一、什么是编译程序 为了了解什么是编译程序,首先了解下翻译程序是什么: 把某一种语言程序(称为源语言程序)等价地转换为另一种语言程序(目标语言程序)的程序。 而编译 阅读全文
posted @ 2020-12-06 12:55 白烟染黑墨 阅读(342) 评论(0) 推荐(1) 编辑
摘要: 最近使用Vscode+Markdown写博客,图片不好弄,想了一下办法,有需要的人可以参考,有更方便的方法欢迎提出! 首先为了解决图片粘贴问题,下载一个扩展,Markdown Paste,下载完之后点击齿轮进入设置页面。 如上图所示,我设置的是相对路径(相对Markdown文件),在VsCode中写 阅读全文
posted @ 2020-11-28 22:06 白烟染黑墨 阅读(2524) 评论(0) 推荐(0) 编辑
摘要: 文件->首选项->用户片段 输入markdown 输入代码片段 Ctrl+P,输入settings.json 加入下面个这个选项 "[markdown]": { "editor.wordWrap": "on", "editor.quickSuggestions": true }, 阅读全文
posted @ 2020-11-28 21:13 白烟染黑墨 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 目录 安装Compose 基本yml语法 基本规则 基本数据类型 对象 数组 复合结构 纯量 示例 Linux常用命令 文件操作 文件拷贝 文件删除 系统命令(CentOS7) 查看防火墙 停用、启用、重启系统服务 关闭服务开机启动 启动服务开机启动 查看服务开机是否启动状态 查看服务运行状态 Vm 阅读全文
posted @ 2020-11-12 22:45 白烟染黑墨 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 一、什么是表达式树? 首先来看下官方定义(以下摘录自巨硬官方文档) 表达式树表示树状数据结构中的代码,其中每个节点都是表达式,例如,方法调用或诸如的二进制操作x < y。 您可以编译和运行由表达式树表示的代码。这样就可以对可执行代码进行动态修改,在各种数据库中执行LINQ查询以及创建动态查询。有关L 阅读全文
posted @ 2020-11-02 18:57 白烟染黑墨 阅读(727) 评论(2) 推荐(2) 编辑