goroutine 作为 golang 并发实现的核心组成部分,非常容易上手使用,但却很难驾驭得好。我们经常会遭遇各种形式的 goroutine 泄漏,这些泄漏的 goroutine 会一直存活直到进程终结。它们的占用的栈内存一直无法释放、关联的堆内存也不能被GC清理,系统的可用内存会随泄漏 goroutine 的增多越来越少,直至崩溃!
Uber开源了goleak库可以帮助我们检测代码中可能存在的goroutine泄露问题;
源代码:
goroutine 作为 golang 并发实现的核心组成部分,非常容易上手使用,但却很难驾驭得好。我们经常会遭遇各种形式的 goroutine 泄漏,这些泄漏的 goroutine 会一直存活直到进程终结。它们的占用的栈内存一直无法释放、关联的堆内存也不能被GC清理,系统的可用内存会随泄漏 goroutine 的增多越来越少,直至崩溃!
Uber开源了goleak库可以帮助我们检测代码中可能存在的goroutine泄露问题;
源代码:
yield在Java、C++、Python、JS中都有运用,本文讲解yield在各种编程语言中的用法;
源代码:
进程间通信有多种方式,本文讲述了进程间通信的方法;
这两天刚把论文的时间整的差不多(最近一段时间基本上被论文折磨的不行,诸事不顺);
本文记录一下最近写论文的时候发生的一些事情,以及一些感受;
Linux中存在一个特殊的设备文件/dev/null,又被称为Bit Bucket;
本文讲述了/dev/null的作用和使用场景;
Golang在1.16中加入了embed包,可以将文件直接打包为二进制;除此之外,github的开源库rakyll/statik也提供了类似的功能,并且使用起来也很方便;
本文使用rakyll/statik库,以一个TODO List应用为例,打包了一个二进制的React SPA应用;
源代码:
由于一些众所周知的原因,国内App Store经常会有一些APP是无法搜索和下载的;这时就要在美区下载;
本文讲述了如何创建AppStore美区账号并下载软件;
文章参考:
本文讲述了如何在Windows10下配置学习汇编语言的环境;
包括编辑器VSCode以及DOSBOX等;
上一篇操作系统内存管理简述的文章中讲解了操作系统的内存管理,这篇让我们从上到下看内存;
视频参考:
源代码:
系列文章:
内存管理是操作系统中一个关键的组成部分,本文通过C++实例,简述了操作系统中的内存管理;
视频参考: