【发布时间】:2011-06-26 02:00:05
【问题描述】:
Go is a concurrent lang这是什么意思?
这不是说它是 C/C++/Java.. 的替代品吗?
【问题讨论】:
标签: concurrency go
Go is a concurrent lang这是什么意思?
这不是说它是 C/C++/Java.. 的替代品吗?
【问题讨论】:
标签: concurrency go
concurrent language 是一种具有并发语言结构的语言。
Go is a concurrent language 因为它有“goroutines”。
并发
Go 提供 goroutines,小型轻量级线程;这个名字暗示了协程。 Goroutines 是使用来自匿名或命名函数的 go 语句创建的。
Goroutines 与其他 goroutines 并行执行,包括它们的调用者。它们不一定在单独的线程中运行,而是将一组 goroutine 多路复用到多个线程上——通过通道发送或接收消息时阻塞它们,从而在它们之间移动执行控制。
【讨论】:
这意味着它是一种具有适合并发(并行、多线程等)编程特性的语言。它有特殊的语言结构来支持这种类型的编程。并发编程可以用其他语言(C/C++、Java 等)完成,但它(可以说)会更难,并且可能会导致程序中出现更多错误。
【讨论】:
It has special languge constructs to support this type of programming
这里有一些来自 Go 编程语言主要作者的关于并发编程的资源。
Introduction to Concurrent Programming
Resources about threaded programming in the Bell Labs CSP style
【讨论】: