gomgo

第 1405 号会员 /

回复了 gomgo 创建的主题: ssl golang nginx 配置问题

睡一觉就好了!

昨晚就是不行!

基本没啥事的!

唉!打扰大家乐了

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

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

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

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

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

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

回复了 gomgo 创建的主题: go chan 的顺序 为什么是这样的?

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 的顺序 为什么是这样的?

@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 的顺序 为什么是这样的?

@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 的顺序 为什么是这样的?

@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 的顺序 为什么是这样的?

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代码阅读工具是?

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

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

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

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

回复了 gomgo 创建的主题: mgo 定时 改动 所有 禁言 用户

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

回复了 gomgo 创建的主题: mgo 定时 改动 所有 禁言 用户

用 Next 是否可以?

iter := collection.Find(nil).Iter()
for iter.Next(&result) {
    fmt.Printf("Result: %v\n", result.Id)
}
if err := iter.Close(); err != nil {
    return err
}