摘要:        
# 描述 sync.Once 是 Golang package 中使方法只执行一次的对象实现,作用与 init 函数类似。但也有所不同。 init 函数是在文件包首次被加载的时候执行,且只执行一次 sync.Onc 是在代码运行中需要的时候执行,且只执行一次 当一个函数不希望程序在一开始的时候就被执    阅读全文
posted @ 2021-10-23 14:08
brady-wang
阅读(124)
评论(0)
推荐(0)
        
            
        
        
摘要:        
sync.Once.Do(f func())是一个挺有趣的东西,能保证once只执行一次,无论你是否更换once.Do(xx)这里的方法,这个sync.Once块只会执行一次。 package main import ( "fmt" "sync" "time" ) var once sync.Onc    阅读全文
posted @ 2021-10-23 14:05
brady-wang
阅读(147)
评论(0)
推荐(0)
        
            
        
        
摘要:        
runtime.Gosched(),用于让出CPU时间片,让出当前goroutine的执行权限,调度器安排其它等待的任务运行,并在下次某个时候从该位置恢复执行。这就像跑接力赛,A跑了一会碰到代码runtime.Gosched()就把接力棒交给B了,A歇着了,B继续跑。 runtime.Goexit(    阅读全文
posted @ 2021-10-23 11:28
brady-wang
阅读(265)
评论(0)
推荐(0)
        
            
        
        
摘要:        
unsafe,顾名思义,是不安全的,Go定义这个包名也是这个意思,让我们尽可能的不要使用它,如果你使用它,看到了这个名字,也会想到尽可能的不要使用它,或者更小心的使用它。 虽然这个包不安全,但是它也有它的优势,那就是可以绕过Go的内存安全机制,直接对内存进行读写,所以有时候因为性能的需要,会冒一些风    阅读全文
posted @ 2021-10-23 10:36
brady-wang
阅读(62)
评论(0)
推荐(0)
        

 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号