
java的实现

我们来练习使用go实现
package main
import (
"fmt"
)
func main() {
var h = 65
var c, d, e = make(chan int), make(chan int), make(chan int)
go func() {
for i := 0; i < 26; i++ {
<-c
fmt.Print(i+1, ">")
d <- 1
}
}()
go func() {
for i := h; i < h+26; i++ {
<-d
fmt.Printf("%c|", i)
if i < h+26-1 {
c <- 1
}
}
e <- 1
}()
c <- 1
<-e
}
输出:
1>A|2>B|3>C|4>D|5>E|6>F|7>G|8>H|9>I|10>J|11>K|12>L|13>M|14>N|15>O|16>P|17>Q|18>R
|19>S|20>T|21>U|22>V|23>W|24>X|25>Y|26>Z|
本文通过一个具体的Go语言示例,展示了如何使用通道(channel)来实现简单的并发任务协调。具体包括了两个goroutine之间的同步操作,第一个goroutine负责输出数字序列,第二个则负责输出对应ASCII字符,并确保两者间的有序输出。

1061

被折叠的 条评论
为什么被折叠?



