码迷,mamicode.com
首页 > 其他好文 > 详细

go里面使用协程别的案例

时间:2020-12-22 11:51:06      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:mutex   nbsp   资源   rgb   func   print   import   test   rgba   

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里面使用协程别的案例

标签:mutex   nbsp   资源   rgb   func   print   import   test   rgba   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!