摘要:
官方包的注释: 包提供基础的同步原语, 、`sync.RWMutex sync.WaitGroup sync.Once sync.Cond`。 一、Mutex Go 语言的 由两个字段 和`sema state sema`是用来控制锁状态的信号量。 上述两个加起来只占 8 字节空间的结构体表过了 G 阅读全文
摘要:
安装过程与deepin 20手动编绎最新版fcitx5类似,只是有一些小的差别。 一 先安装官方源里的fcitx5 目的很简单,完成最基本的输入法设置,安装完卸载即可。 二 安装依赖 sudo apt install -y cmake build-essential extra-cmake-modu 阅读全文
摘要:
随着反爬的不断升级,文书网的爬虫也越来越难了。 为了降低反爬再次升级的可能性,本文仅展示部分思路和代码,如果想要数据,可以联系我 wechat: thep0y。 一、数据的样貌 以获取 北京互联网法院 的数据为例(下同): 有用的数据是后两个 的json数据,体积较大的那个是文书数据,较小的那个是左 阅读全文
摘要:
上下文context.Context是用来设置终止时间、同步信号、传递请求相关的值的接口,与 Goroutine 关联密切。 context.Context接口需要实现四个方法: Deadline:返回context.Context被终止的时间,即完成任务的最终时限 Done:返回一个 Channe 阅读全文
摘要:
1 panic Go 语言的错误处理方法比较特别,需要返回error给调用者,但是如果遇到的是无法恢复的错误,返回error也没有意义,此时就需要主动触发panic。 但有些错误只能在运行时检查,如数组访问越界、空指针引用等,这些运行时错误会引发panic异常。 panic能够改变程序的控制流,调用 阅读全文
摘要:
微软的cdn是真垃圾,明明香港有服务器,但在大陆访问windows域名,都转到美国服务器,导致有些网站的资源加载不出来,所以调整了一下加载缓慢的域名的ip映射 # 微软相关域名 13.107.213.19 logincdn.msauth.net 13.107.213.19 acctcdn.msaut 阅读全文
摘要:
一个没有垃圾回收(Garbage Collection,简称GC)机制的编程语言的内存管理问题绝对会让人头疼,一个友好的编程语言会设计一个垃圾回收机制——垃圾收集器,来自动回收不再使用的对象和内存空间。 Go 作为一个秉承着“少即是多”理念的编程语言,所以能为开发者考虑到的内容都应该由编程语言自己完 阅读全文
摘要:
一、调度器的由来 调度本身是指操作系统中为每个任务分配其所需资源的方法。 在操作系充中,线程是任务执行的最小单位,是系统调度的基本单元。 虽然线程比进程轻量,但是在调度时也有比较大的额外开销,每个线程都会占用几 M 的内存,上下文切换时也会消耗几微秒的时间,这些都是高并发的阻碍。 Go 语言的诞生有 阅读全文
摘要:
一、并发和并行 1.1 并发 在操作系统中,一个时间段内有几个程序都处于正在运行的状态,而且这几个程序都是在同一个处理机上运行,但 任意一个时刻其实只有一个程序在处理机上运行 。 在一个只有单核(单 CPU)的处理器的操作系统中,同一时刻只能有一个进程运行。 假设只有一个进程运行,为了执行多任务,需 阅读全文
摘要:
分布式是一种将单一的节点因不满足业务需求而扩展为分散式的多节点的解决思路。研究的就是如何将多个计算机的资源合并为一个大的资源。 一、事务的 ACID 特性 事务是恢复和并发控制的基本单位。其具有四个特性(ACID): 原子性(atomicity) 一个事务是不可分割的工作单位,事务中的任务要么都完成 阅读全文