Golang中国

gomgo

Golang China 第 1405 号会员,加入于 2014-06-10 11:01


gomgo最近回复了


回复了 gomgo 创建的主题: 写了个 两个数相加的 goroutine,也没见快啊! 2016-12-07 14:14

给Add做一个大循环是什么意思呢?

数字大了,内存猛涨!很大的数,机器没反应了!

在 Go by Example 的示例程序中 /stateful-goroutines 每秒大约 800,000 次操作

高质量的-goroutines还需要多看,目前公开的大多是基础示例

给Add做一个大循环怎么写呢?

回复了 gomgo 创建的主题: 写了个 两个数相加的 goroutine,也没见快啊! 2016-12-02 17:25

嗨,我拿一个大数测时,结果。。。

重启机器呗,

所以放在网上时顺手改了个数字 100

多谢,各位回复

回复了 gomgo 创建的主题: go chan 的顺序 为什么是这样的? 2016-11-19 22:37

反复比较,加上for 循环,单核与多核 time.Sleep(1 * time.Second)

总算有点明白了

总是用框架,还是有弊端的啊

回复了 gomgo 创建的主题: go chan 的顺序 为什么是这样的? 2016-11-19 22:19
package main

import (
"fmt"
"runtime"
)

func main() {
var MULTICORE int = runtime.NumCPU()
fmt.Println(MULTICORE) // 4
runtime.GOMAXPROCS(MULTICORE)

ch := make(chan int)

go func() { ch <- 1 }()
go func() { ch <- 2 }()
go func() { ch <- 3 }()
go func() { ch <- 4 }()
go func() { ch <- 5 }()
go func() { ch <- 6 }()

u, v, w, x, y, z := <-ch, <-ch, <-ch, <-ch, <-ch, <-ch
fmt.Println(u, v, w, x, y, z)

}

好像即使多核情况下,顺序还是不变啊???
多次执行仍然固定顺序输出: 6 1 2 3 4 5

回复了 gomgo 创建的主题: go chan 的顺序 为什么是这样的? 2016-11-19 22:08

@zmguozi : 多核是下面这样的么? 哦,明白了些! 耗费了时间啊,没真正明白一个知识点

package main

import (
"fmt"
"runtime"
)

func main() {
var MULTICORE int = runtime.NumCPU() //number of core
fmt.Println(MULTICORE)               // 4
runtime.GOMAXPROCS(MULTICORE)        //running in multicore

ch := make(chan int)

go func() { ch <- 1 }()
go func() { ch <- 2 }()
go func() { ch <- 3 }()
go func() { ch <- 4 }()
go func() { ch <- 5 }()
go func() { ch <- 6 }()

x, y, z := <-ch, <-ch, <-ch
fmt.Println(x, y, z)

u, v, w := <-ch, <-ch, <-ch
fmt.Println(u, v, w)

}
回复了 gomgo 创建的主题: go chan 的顺序 为什么是这样的? 2016-11-19 21:43

@jthmath : 执行好像很有顺序,总是输出 6 1 2 3 4 5

package main

import "fmt"

func main() {

ch := make(chan int)

go func() { ch <- 1 }()

go func() { ch <- 2 }()

go func() { ch <- 3 }()

go func() { ch <- 4 }()

go func() { ch <- 5 }()

go func() { ch <- 6 }()

u, v, w, x, y, z := <-ch, <-ch, <-ch, <-ch, <-ch, <-ch

fmt.Println(u, v, w, x, y, z)

}
回复了 gomgo 创建的主题: go chan 的顺序 为什么是这样的? 2016-11-19 21:40

@zmguozi : 2 好像是执行了

package main

import "fmt"

func main() {

ch := make(chan int)

go func() { ch <- 1 }()

go func() { ch <- 2 }()

go func() { ch <- 3 }()

x, y := <-ch, <-ch

fmt.Println(x, y)

z := <-ch

fmt.Println(z)
}

输出
3 1
2

回复了 gomgo 创建的主题: go chan 的顺序 为什么是这样的? 2016-11-19 20:16
package main

import "fmt"

func main() {

ch := make(chan int)

go func() { ch <- 1 }()

go func() { ch <- 2 }()

go func() { ch <- 3 }()

x, y := <-ch, <-ch

fmt.Println(x, y)

}

打印结果是 3 1 , 请问 2 哪里去了?

回复了 gomgo 创建的主题: 支持IOS和ANDROID的GOLANG代码阅读工具是? 2016-09-29 19:37

github.com 那样在线阅读源码太麻烦了!

突然想到搞台win10平板不就解决问题了!

Surface Pro 4 有点重,有点大,有点贵,主要是Pro5 快来了,。。。

所以瞄向了其他的品牌,反正只是为了阅读源码

回复了 gomgo 创建的主题: mgo 定时 改动 所有 禁言 用户 2016-06-30 10:53

应该先 Sort 把禁言字段 的 false 和 true 分列开,然后再找到第一个 false ,再然后 Next 处理,对吧?

gomgo 创建的更多回复