当前位置: 首页> 财经> 产业 > 网络营销师资格证有什么用_建筑设计图设计说明_惠州百度seo在哪_网络营销公司网络推广

网络营销师资格证有什么用_建筑设计图设计说明_惠州百度seo在哪_网络营销公司网络推广

时间:2025/7/9 1:11:06来源:https://blog.csdn.net/2201_75595843/article/details/145845848 浏览次数:0次
网络营销师资格证有什么用_建筑设计图设计说明_惠州百度seo在哪_网络营销公司网络推广
func test() {for i := 0; i < 10; i++ {fmt.Println("test()", i)time.Sleep(time.Millisecond * 100)}wg.Done()
}var wg sync.WaitGroupfunc main() {wg.Add(1)go test()for i := 0; i < 10; i++ {fmt.Println("main()", i)time.Sleep(time.Millisecond * 20)}wg.Wait()
}

通过 go 开始携程

通过sync.WaitGroup 使得主线程进行等待

func test(num int) {defer wg.Done()for i := 0; i < 10; i++ {fmt.Println("test()", num)time.Sleep(time.Millisecond * 100)}
}var wg sync.WaitGroupfunc main() {for i := 0; i < 6; i++ {wg.Add(1)go test(i)}wg.Wait()
}

获取执行时间end:=time.Now.Unix() start=... end-start为执行的毫秒数

定义管道,先进先出,为引用数据类型

func main() {ch := make(chan int, 3)ch <- 10a := <-chfmt.Println(a)fmt.Printf("%v,%v,%v", ch, cap(ch), len(ch))
}

forr遍历,注意遍历前需要关闭,否则报错,通过for循环可以不关闭

func main() {ch := make(chan int, 3)ch <- 10close(ch)for v := range ch {fmt.Println(v)}
}

只写的管道

func main() {ch := make(chan<-int, 3)ch <- 10close(ch)}

只读的管道

func main() {ch := make(<-chan int, 3)for v := range ch {fmt.Println(v)}
}

select多路复用,一定要注意不要关闭管道,否则会报错

func main() {intChan := make(chan int, 10)for i := 0; i < 10; i++ {intChan <- i}strChan := make(chan string, 10)for i := 0; i < 10; i++ {strChan <- "hello" + fmt.Sprintf("%d", i)}for {select {case v := <-intChan:fmt.Println(v)case v := <-strChan:fmt.Println(v)default:fmt.Println("finish")return}}
}

加互斥锁

var mutex sync.Mutexmutex.Lock()mutex.Unlock()

读写锁

var mutex sync.RWMutexmutex.Lock()mutex.Unlock()mutex.RLock()mutex.RUnlock()

关键字:网络营销师资格证有什么用_建筑设计图设计说明_惠州百度seo在哪_网络营销公司网络推广

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: