• wg能不能多线程Wait

    package main
    
    import (
    	"fmt"
    	"sync"
    )
    
    func main() {
    	wg := sync.WaitGroup{}
    	wg.Add(1)
    	for i := 0; i < 3; i++ {
    		go func(i int) {
    			wg.Wait()
    			fmt.Printf("%d done\n", i)
    		}(i)
    	}
    	wg.Done()
    	fmt.Println("main done")
    }
    
    package main
    
    import (
    	"fmt"
    	"sync"
    )
    
    func main() {
    	wg := sync.WaitGroup{}
    	wg.Add(1)
    	for i := 0; i < 3; i++ {
    		go func(i int) {
    			wg.Wait()
    			fmt.Printf("%d done\n", i)
    		}(i)
    	}
    	wg.Done()
    	fmt.Println("main done")
    }
    
  • 笔记

    原来构造一个堆只需要线性时间. 而且对一个数组建堆 in place

  • 学会一个人

    我也想学会一个人静下来工作, 一个人看书学习, 一个人用有益的方式感受时间流逝.

  • 如果太累

    如果太累有没有人可以说, 反正我是想不起来可以和谁说.

    享受这种一点点被摧毁的感觉~

  • golang中传接口是传值还是传引用?

    传值. 所以如果接口后面的东西是一个struct, 要小心了.

  • 我的时间呀

    对一个中年人最大的惩罚就是浪费他10秒钟时间.

  • 周末

    周六打了个通宵的拱猪, 星期天睡了一个白天, 晚上去吃区长的火锅, 然后聊到打游戏, 一秒钟散场, 各回各家开机, 终于打败了区长的不败神话.

  • 感同身受

    感同身受是个永恒的伪命题, 所以呢, 怎么办呢

  • 今天做了啥

    写了gohangout的kv插件, 别的好像啥都没做! 天哪…

  • sudoers

    Defaults env_reset,pwfeedback,timestamp_timeout=60