Golang 中国

zweite

Golang China 第 1671 号会员,加入于 2014-07-23 15:35


zweite最近创建的主题


【广州 红砖厂 移动广告】高级后端开发工程师 --一波岗位
招聘zweite • 2018-06-10 11:02
2 站点的第三方包下载工具有点问题
开发工具zweite • 2015-01-11 13:38 • 最后回复来自 jimmykuu
7 关于gorutine
Web开发zweite • 2014-08-01 09:13 • 最后回复来自 zweite
zweite 创建的更多主题

zweite最近回复了


回复了 yuchen16 创建的主题: 关于并发的问题,这个例子要怎么理解? 2017-08-03 12:10

等待另外的goroutine初始化g

回复了 mastergo 创建的主题: Go语言最蛋疼的就是极少有甚至是没有Go的工作岗位. 2016-04-06 00:11

来来来,我来内推你们,够吊就没问题的😏

回复了 keepeye 创建的主题: 什么情况下需要用到互斥锁sync.Mutex? 2014-10-27 15:49

你可以试下酱紫运行

GOMAXPROCS=4 go run main.go

就会和你说的结果不一样的.这个是因为你的golang配置默认为一个线程去跑你所有的goroutine,你所有的goroutine是排队执行的,故你看到输出的是1 2 3.但是如果你设置为多线程执行的时候,那么这样的结果就不一定了,这个时候就需要加上同步锁.才能保证所有的goroutine有序的访问数据

=================================================

好整齐的分割线~~~

补充说明,golang中的++为非原子性操作

回复了 xiaolongren25 创建的主题: 如何安全关闭channel 2014-08-03 18:22

使用sync/atomic包对channel管理

回复了 snake117 创建的主题: 求教关于IP地址的详细分类,包括IPv4和IPv6 2014-08-01 16:06

这个看下计算机网络基础教程就有了吧

回复了 zweite 创建的主题: 关于gorutine 2014-08-01 09:13

好的,谢谢你们哈,真的是忘了Close了

回复了 zweite 创建的主题: 关于gorutine 2014-07-31 20:58

这~~~不支持markdown的么

回复了 zweite 创建的主题: 关于gorutine 2014-07-31 20:57

``` package main

import( "runtime" "fmt" "sync" "net/http" )

func main() { fmt.Println(runtime.NumGoroutine()) waitGroup := sync.WaitGroup{} for i := 0; i < 100; i++ { waitGroup.Add(1) go func(i int, wait *sync.WaitGroup) { defer func(){ wait.Done() }() Println(i) }(i, &waitGroup) } waitGroup.Wait() fmt.Println(runtime.NumGoroutine()) }

func Println(i int) { //println(i) client := http.Client{} , = client.Get("http://www.baidu.com") } ```

zweite 创建的更多回复