作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有一个在 Ubuntu 上看起来像这样的 go 程序
package main
import (
"fmt"
"time"
)
func main() {
count := 2
for i := 0; i < count; i++ {
go ping()
}
for {}
}
func ping() {
for {
time.Sleep(time.Second )
fmt.Println("hello world")
}
}
我的想法是调用 go 例程两次,然后在每次运行 go 例程时,我会等待 1 秒,然后打印 "hello world"
但是这个程序在 ubuntu 上的输出是 no输出。它似乎适用于 OSX
这是 OSX 的输出:
在 Ubuntu 上输出如下所示
这种疯狂有原因吗?我是否做错了什么,可能在两个不同的操作系统上有不同的处理方式?
为什么 Ubuntu 没有显示输出?
最佳答案
忙等待 for {}
循环不会屈服于调度程序,因此您的 goroutines 可能会或可能不会运行。这与操作系统无关;只是去掉 for {}
循环。
关于go - 为什么在 Ubuntu 上无限执行例程后不会从线程打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39340219/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!