一个有趣问题: 如何让3个goroutine按顺序循环打印出ABC? 📅 Jun 2, 2022 · ☕ 2 min read 刚刚我在网上冲浪,发现了这个一个问题,于是我想了一下,给了以下几种方法: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
康威的生命游戏(Rust + WebAssembly) 📅 Jan 31, 2022 · ☕ 2 min read 很早之前就知道有一个有趣的东西叫 conway’s game of life (康威的人生游戏),前段时间我用 Rust 实现了一遍,并且尝试将原作者提出的 2d版本改成3d版;还尝试了 Rust W
不容忽视的 Goroutine Leak 以及如何排查 📅 Sep 28, 2020 · ☕ 4 min read 我们可以用 golang 很轻松地进行并发编程,但是在并发编程过程中,得留意 goroutine 的泄露。 什么是 goroutine 泄露 其实 goroutine 泄露就是内存泄露的一种:你开启了一个 goroutine ,但是你开启
Condition Variables: 搞明白 go 语言的 sync.Cond 📅 Aug 29, 2020 · ☕ 3 min read 条件变量(Condition VAriables)是一种并发原语,条件变量允许一个线程在某个条件不满足的时候进入睡眠状态,当条件满足时再唤醒它
MIT 6.S081 操作系统 课后实验笔记[Lab Utils & System Call] 📅 May 1, 2020 · ☕ 7 min read 实验环境搭建 课程主页:MIT 6.S081 Operating System 最开始make qemu报错,提示我没有 riscv64 版本的 binutils: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 > make qemu *** *** Error:
MIT-6.824 分布式系统 课后实验 Lab3 A (Fault-tolerant Key/Value Service) 📅 Apr 22, 2020 · ☕ 3 min read 在lab2已经完成了简单的raft, 在lab3里要完成一个key-value数据库。 数据库服务端应该有这三个接口: Get(key string) Put(key, value string) Append(key, value string) // 如果 key 不
MIT-6.824 分布式系统 课后实验 Lab2 A/B/C (Raft Election, Log Replication, Persistence) 📅 Mar 31, 2020 · ☕ 9 min read raft 简要介绍 raft是一种分布式一致性算法,可以先看看这里:Raft Consensus Algorithm 的互动小程序来对raft有个感性的认知,然后再读paper。 raft 的角色 论
MIT-6.824 分布式系统 课后实验 Lab1 (Map Reduce) 📅 Mar 24, 2020 · ☕ 6 min read Map-Reduce 论文阅读 分析 实验要求 在 mr/master.go, mr/worker.go, and mr/rpc.go. 中编码,并且只指定了 reduce worker的数量:nreduce。 master最后要以 go run mrmaster.go pg-*.txt 的方式运行,每一个.t
Kernel Panic: 我把 Arch 滚挂了 📅 Mar 1, 2020 · ☕ 3 min read 每一位 Arch Linux 用户都喜欢做的事情: sudo pacman -Syu; 但是我自己犯了大错,在更新过程,终端卡死,键盘鼠标无响应,等了 20 几分钟也无响应,就长按电源强制关机了,再次开机后,我看到了 Kernel Panic