是不是程序中只是用了channel和mutex而没有使用goroutine语句就不能算是多线程比如这样的:
<pre><code>
package main
import "fmt"
func main() {
ch := make(chan int, 2)
ch <- 1
fmt.Println(<-ch)
ch <- 2
fmt.Println(<-ch)
}
</code></pre>
补充下:goroutine是运行时中实现的轻量级协程调度机制,系统中的一切任务都是通过goroutine进行调度(包括main函数),传统中的进程和协程的调度是由go runtime实现。
#3
更多评论