Ants -- golang 协程池案例

本文提供了一个简洁的 Golang 协程池使用案例,用于处理僵尸问题。场景设定为有限的电椅资源(初始为3个)和一定数量的僵尸需要处理。通过协程池实现,确保并发数限制在电椅数量内,避免过度占用资源。增加电椅数量则会允许更多僵尸同时处理,适合低实时性需求且需控制并发的场景。
摘要由CSDN通过智能技术生成

偶尔看见一个不错的协程池实现,觉得不错,但是官方例子有些冗余,所以自己写了个超简单的应用场景。
如果想要了解实现原理的可以点击【这里】,原作者已经写得很清楚了。

栗子

场景是–我们要处决僵尸,但是只有3把电椅。
当然,最主要的还是要有僵尸给我们盘,所以我们有两个方法:

var tunnel = make(chan string, 1) // 僵尸隧道

// 处决僵尸
func ExecuteZombie(i interface{
   }) {
   
	fmt.Printf("正在处决僵尸 %s 号,还有5秒钟....\n", i.(string))
	time.Sleep(5*time.Second)
	fmt.Printf(":) %s 玩完了,下一个\n-----------------\n", i
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值