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

素描网站怎么做吉林刷关键词排名优化软件

素描网站怎么做,吉林刷关键词排名优化软件,做外销网站服务器好吗,ps怎么做网站设计1. 简介 实现与pythonthreading.Barrier库类似的功能,多线程同时等待达到指定数量一起放行。 有待改进地方: wait方法没有支持context控制。 2. 代码 import ("context""golang.org/x/sync/semaphore""sync/atomic" …

1. 简介

实现与pythonthreading.Barrier库类似的功能,多线程同时等待达到指定数量一起放行。

有待改进地方

  1. wait方法没有支持context控制。

2. 代码

import ("context""golang.org/x/sync/semaphore""sync/atomic"
)type Barrier struct {count  int64 // 记录当前多少amount int64 // 记录多少放行entry  *semaphore.Weightedexit   *semaphore.Weighted
}func NewBarrier(n int64) *Barrier {b := &Barrier{count:  0,amount: n,entry:  semaphore.NewWeighted(n),exit:   semaphore.NewWeighted(n),}_ = b.exit.Acquire(context.Background(), n)return b
}func (b *Barrier) Wait() {ctx := context.Background()// 限制进入数量_ = b.entry.Acquire(context.Background(), 1)// 如果是最后一个人,放行前面所有包括自己。if atomic.AddInt64(&b.count, 1) == b.amount {defer func() {b.count = 0b.entry.Release(b.amount)}()// 放行所有b.exit.Release(b.amount)}// 等待放行_ = b.exit.Acquire(ctx, 1)
}

测试

func TestBarrier(t *testing.T) {b := NewBarrier(2)for i := 1; i <= 10; i++ {go func(id int) {b.Wait()t.Log("waited", id)}(i)time.Sleep(time.Second)}
}
http://www.mmbaike.com/news/111913.html

相关文章:

  • 局域网网站怎样做数据库网站排名优化的技巧
  • 海南省住房公积金管理局网站全球搜官网
  • 泰兴网站制作成人教育培训机构十大排名
  • 同一个阿里云可以做两个网站吗百度广告联盟怎么赚钱
  • 给公司做网站 图片倾权站长平台网站
  • 汉中建站公司口碑营销案例ppt
  • 做什么网站吸引人爆款采集推广引流软件
  • 做的好微信商城网站吗未来网络营销的发展趋势
  • 深圳html5网站建设武汉seo管理
  • 日本做苹果壁纸的网站好9个成功的市场营销案例
  • 企业黄页顺企网seo的作用
  • 企业网站建设招标评分表网站建设软件
  • 昆明网站建设费用惠州seo优化
  • 网站页面优化方案大数据营销平台那么多
  • 展示型手机网站模板电脑培训学校
  • 网站死链处理百度查重
  • 微商建立网站扬州网站seo
  • 简述网站建设步骤抖音推广
  • 做外贸网站有哪些百度指数排行榜
  • 微信小程序棋牌透视软件长春百度seo排名
  • 天津 公司网站建设短链接在线生成官网
  • 鞋子网站建设策划书百度新闻首页头条
  • 做网站能自己找服务器吗网络营销教学网站
  • 山东省建设从业人员管理系统入口长沙官网seo
  • 西安网站建设个人china东莞seo
  • 天将建设集团有限公司网站浙江搜索引擎优化
  • 自己做网赌网站网站关键词查询
  • vip视频解析网站怎么做百度seo怎么收费
  • 河北省建设执业资格中心网站seo经验是什么
  • 网站建设经理网站的seo方案