首页 > 其他 > 详细

go里面使用协程别的案例

时间:2020-12-17 00:23:37      阅读:24      评论:0      收藏:0      [点我收藏+]
package  main
//求1-200的阶乘
//使用go里面协程提高速度
//加锁是因为有资源竞争,所以加锁
import (
    "fmt"
    "sync"
    "time"
)
var (
     myMap=make(map[int]int,10);
     lock sync.Mutex;
)
func test(n int){
    res:=1;
    for i:=1;i<=n ; i++ {
        res+=i;
    }
    lock.Lock();
    myMap[n]=res;
    lock.Unlock();
}
func main(){
    for i:=1;i<200;i++ {
        go test(i);
    }
    time.Sleep(time.Second*10);
    lock.Lock();
    for k,v:=range myMap {
        fmt.Printf("map[%d]=%d\n",k,v);
    }
    lock.Unlock();
}

 

go里面使用协程别的案例

原文:https://www.cnblogs.com/zh718594493/p/14147175.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!