Golang教程网
Golang教程网
  • 博客首页
  • 实战学习Golang
  • 日常工作实战
  • 小程序实战开发
    • 微信小程序开发
    • 百度智能小程序开发
    • QQ小程序开发
    • 头条小程序开发
    • 支付宝小程序开发
  • 学习笔记
  • 搜索
golang 获取map所有key的方式
发表于 2023-08-25

最佳方式:根据map的长度,新建一个数组,遍历map逐个压入 方法1(效率很高): func getKeys1(m map[int]int) []int { // 数组默认长度为map长度,后面append时,不需要重新申请内存和拷贝,效率很高 j := 0 keys := make([]int, len(m)) for k := range m { keys[j] = k

golang 中 sync包的 WaitGroup
发表于 2023-08-25

golang 中的 sync 包有一个很有用的功能,就是 WaitGroup   先说说 WaitGroup 的用途:它能够一直等到所有的 goroutine 执行完成,并且阻塞主线程的执行,直到所有的 goroutine 执行完成。   WaitGroup 总共有三个方法:Add(delta int), Done(), Wait()。简单的说一下这三个方法的作用。   Add:添加或者减少等待

go语言的官方包sync.Pool的实现原理和适用场景
发表于 2023-08-25

已经使用golang有一段时间,go的协程和gc垃圾回收特性的确会提高程序的开发效率。但是毕竟是一门新语言,如果对于它的机制不了解,用起来可能会蹦出各种潘多拉盒子。今天就讲讲我在项目中用到的sync包的Pool类的使用,以免大家混淆使用。众所周知,go是自动垃圾回收的(garbage collector),这大大减少了程序编程负担。但gc是一把双刃剑,带来了编程的方便但同时也增加了运行时开销

Golang协程并发的流水线模型
发表于 2023-08-25

背景最近由于性能问题,后端服务一直在做python到golang的迁移和重构。go语言精简优雅,既有编译型语言的严谨和高性能,又有解释型语言的开发效率,出色的并发性能也是go区别于其他语言的一大特色。go的并发编程代码虽然简单,但重在其并发模型和流程的设计。这里就总结下golang协程并发常用的流水线模型。简单的流水线思维流水线模式并不是什么新奇的概念,但是它能极大地提高生产效率

sync 包(二):条件变量 sync.Cond
发表于 2023-08-25

sync 包(二):条件变量 sync.Cond sync.Cond sync.Cond sync.Cond sync.Cond type Cond struct { noCopy noCopy // L is held while observing or changing the condition L Locker notify notifyList checker

Golang语言标准库 sync 包的 Cond 怎么使用?
发表于 2023-08-25

01介绍在 Go 语言中,Cond 实现一个条件变量,协助解决等待或通知事件场景的并发执行问题,通常用于等待某个条件的一组 goroutine。这个条件需要一组 goroutine 共同协作完成,如果条件为 false,所有等待这个条件的 goroutine 将会被阻塞,当这个条件变为 true 时,所有等待这个条件的其中一个 goroutine 或者所有 goroutine 会被唤醒

Go语言并发之Sync包的6个关键概念总结
发表于 2023-08-25

1.sync.Mutex和sync.RWMutex 要知道,mutex(互斥)对于我们 gopher 来说就像一个老伙计。在处理 goroutine 时,确保它们不会同时访问资源是非常重要的,而 mutex 可以帮助我们做到这一点。 sync.Mutex 看看这个简单的例子,我没有使用互斥锁来保护我们的变量 a: 此代码的结果是不可预测的。如果幸运的话,您可能会得到 500,但通常结果会小于

一文带你读懂Golang sync包之sync.Mutex
发表于 2023-08-25

sync.Mutex可以说是sync包的核心了, sync.RWMutex, sync.WaitGroup...都依赖于他, 本章我们将带你一文读懂sync.Mutex. 我们主要介绍如下内容 sync.Mutex数据结构 为什么sync.Mutex不需要初始化 正常模式和饥饿模式 sync.Mutex的三大方法, Lock(), UnLock(), TryLock() sync

Go语言sync包的应用详解
发表于 2023-08-25

goroutineGosyncMutexRWMutexWaitGroupOnceCondsyncsyncPoolMap sync.Mutex sync.Mutexsync mutex := &sync.Mutex{} mutex.Lock() // Update共享变量 (比如切片,结构体指针等) mutex.Unlock() sync.Mutexsync sync.RWMutex sync

Golang的sync.WaitGroup 实现逻辑和源码解析
发表于 2023-08-25

基本概念 方便的并发,是Golang的一大特色优势,而使用并发,对sync包的WaitGroup不会陌生。WaitGroup主要用来做Golang并发实例即Goroutine的等待,当使用go启动多个并发程序,通过waitgroup可以等待所有go程序结束后再执行后面的代码逻辑,比如: func Main() { wg := sync.WaitGroup{} for i := 0; i >

第一页 上一页 1 ... 997 998 999 1000 下一页 尾页
友情链接: 免费取名网 安企CMS 商家收款码申请 AI学习网 Hello Web3
© 2026 Golang教程网, Created By 安企内容管理系统(AnqiCMS)