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的作用和使用场景;
由于一些众所周知的原因,国内App Store经常会有一些APP是无法搜索和下载的;这时就要在美区下载;
本文讲述了如何创建AppStore美区账号并下载软件;
文章参考:
上一篇操作系统内存管理简述的文章中讲解了操作系统的内存管理,这篇让我们从上到下看内存;
视频参考:
源代码:
系列文章:
内存管理是操作系统中一个关键的组成部分,本文通过C++实例,简述了操作系统中的内存管理;
视频参考:
我们可以使用sudo su或者su来获取root权限,那么这两个命令有什么区别呢?
本文讲述了这两个命令之间的区别。
之前购买的良心云学生服务器已经到期,并且续费次数也用完了。正好最近有免费升级活动,2C4G6M的机器3年才400块钱,就入手了;
本文记录了在新服务器上一些安装软件的过程和旧服务器数据迁移过程;
经常使用基于Debian的Linux发行版(例如最有名的Ubuntu)的同学应该对apt命令不陌生,我们使用apt命令一行代码安装了大量的应用。
但是在查看一些教程时,会用到apt-get。
那么apt和apt-get到底有什么区别呢?本文就来讲述apt和apt-get的区别。