当前位置: 首页 > news >正文

网站动画广告条怎么做的下载百度2023最新版

网站动画广告条怎么做的,下载百度2023最新版,长沙网站设计服务商,新密市城乡建设局网站golang优雅代码【lock实现】 1.局部锁1.1 具体实现方式 本文代码风格来源参考 database/sql 包 更加深刻理解go语言圣经中函数是一等公民 1.局部锁 database/sql源码中使用 withLock(dc, func(){...}) 方法实现局部锁,完美利用了 golang 的 defer 关键字对 入参dc…

golang优雅代码【lock实现】

  • 1.局部锁
    • 1.1 具体实现方式

本文代码风格来源参考 database/sql
更加深刻理解go语言圣经中函数是一等公民

1.局部锁

database/sql源码中使用 withLock(dc, func(){...}) 方法实现局部锁,完美利用了 golangdefer 关键字对 入参dc 进行加锁解锁,感觉实现很优雅

func (db *DB) queryDC(ctx, txctx context.Context, dc *driverConn, releaseConn func(error), query string, args []any) (*Rows, error) {queryerCtx, ok := dc.ci.(driver.QueryerContext)...if ok {...withLock(dc, func() {// do something ... })...}...return rows, nil
}

1.1 具体实现方式

  1. 首先定义 driverConn 封装 sync.Mutex,实现 sync.Locker 接口
type driverConn struct {db        *DB...sync.Mutex  // guards following
}
  1. 定义函数 withLock ,接收 sync.Locker , func() 入参,在内部实现获取/释放锁,并执行对应函数
// withLock runs while holding lk.
func withLock(lk sync.Locker, fn func()) {lk.Lock()defer lk.Unlock() // in case fn panicsfn()
}
  1. 使用该方式实现锁
func (db *DB) queryDC(ctx context.Context, dc *driverConn) (*Rows, error) {...// 获取&释放锁withLock(dc, func() {// do something ... })...return rows, nil
}
  1. 对比普通方式(非常容易忘记释放锁,并且还要考虑errror)
func (db *DB) queryDC(ctx context.Context, dc *driverConn) (*Rows, error) {...// 获取&释放锁dc.Lock()// do something ... dc.Unlock()...return rows, nil
}
http://www.tj-hxxt.cn/news/82419.html

相关文章:

  • 案例模板我的网站十大门户网站
  • 学做网站要多久哈尔滨seo
  • 内蒙古建设住房与城乡厅官方网站2022年新闻摘抄十条
  • 如何做网站改版本地推广平台有哪些
  • 网站设计中超链接怎么做2023年第三波疫情9月
  • 做网站技术员百度seo排名360
  • 网站开发人员属于什么软件最新热搜新闻
  • 2015手机版网站制作网络运营课程培训班
  • 沈阳营销型网站制作windows优化大师电脑版
  • wordpress支付插件重庆seo杨洋
  • 北京京西建设集团网站市场营销培训
  • 免费web服务器网站123论坛排名
  • 西安企业网站建设代理机构青岛seo精灵
  • 深圳网站制作公司电话静态网页制作
  • 家装公司名字南阳seo
  • 51免费模板网seo推广教程seo高级教程
  • 网站建设公司海南超级外链
  • 做网站用什网站内部seo优化包括
  • 鄂州网上房地产长沙seo行者seo09
  • 空包网站怎么做网络营销师培训费用是多少
  • 商城网站的开发怎么做的seo是什么意思seo是什么职位
  • 大连餐饮网站建设友情链接的网站有哪些
  • 大良品牌网站建设百度推广和优化有什么区别
  • 军事最新军事新闻视频附子seo教程
  • 门户网站开发价格网上国网推广
  • 电子商务网站建设解决方案网络黄页推广软件哪个好用
  • 西维科技做网站怎么样百度推广营销
  • 怎么做代刷网站百度搜索引擎优化怎么做
  • 好看的企业网站源码新闻最新热点
  • 台州自助建站在线咨询如何提高网站搜索排名