deleted test.go
This commit is contained in:
parent
fa8285697e
commit
fe92837134
55
test.go
55
test.go
@ -1,55 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"log"
|
|
||||||
"os"
|
|
||||||
"sync"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
func sendA(ch chan string) {
|
|
||||||
fmt.Println("start waiting A")
|
|
||||||
time.Sleep(20 * time.Second)
|
|
||||||
fmt.Println("end waiting A")
|
|
||||||
ch <- "a"
|
|
||||||
close(ch)
|
|
||||||
}
|
|
||||||
|
|
||||||
func sendB(ch chan string) {
|
|
||||||
fmt.Println("start waiting B")
|
|
||||||
time.Sleep(10 * time.Second)
|
|
||||||
fmt.Println("end waiting B")
|
|
||||||
ch <- "b"
|
|
||||||
close(ch)
|
|
||||||
}
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
if err := os.Chdir(""); err != nil {
|
|
||||||
fmt.Println("didn't change directory")
|
|
||||||
}
|
|
||||||
wg := sync.WaitGroup{}
|
|
||||||
wg.Add(2)
|
|
||||||
chA := make(chan string)
|
|
||||||
chB := make(chan string)
|
|
||||||
fmt.Println("start sendA")
|
|
||||||
go sendA(chA)
|
|
||||||
fmt.Println("start sendB")
|
|
||||||
go sendB(chB)
|
|
||||||
fmt.Println("start printing A")
|
|
||||||
go printCock(chA, &wg)
|
|
||||||
fmt.Println("start printing B")
|
|
||||||
go printCock(chB, &wg)
|
|
||||||
wg.Wait()
|
|
||||||
}
|
|
||||||
|
|
||||||
func printCock(ch chan string, wg *sync.WaitGroup) {
|
|
||||||
for {
|
|
||||||
select {
|
|
||||||
case x := <-ch:
|
|
||||||
log.Println(x)
|
|
||||||
wg.Done()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user