1 // main
 2 package main
 3 
 4 import (
 5     "fmt"
 6     "runtime"
 7     "sync"
 8 )
 9 
10 func main() {
11     fmt.Println("Hello World!")
12     runtime.GOMAXPROCS(1)
13     var wg sync.WaitGroup
14     wg.Add(2)
15     i := 999
16     fmt.Println("Start Goroutines")
17 
18     go func() {
19         defer wg.Done()
20         //共享变量 i wg
21         fmt.Println(i)
22         for count := 0; count < 3; count++ {
23             for char := 'a'; char < 'a'+26; char++ {
24                 fmt.Printf("%c ", char)
25             }
26         }
27     }()
28 
29     go func() {
30         defer wg.Done()
31         fmt.Println(i)
32         for count := 0; count < 3; count++ {
33             for char := 'A'; char < 'A'+26; char++ {
34                 fmt.Printf("%c ", char)
35             }
36         }
37     }()
38 
39     fmt.Println("Waiting to Finish")
40     wg.Wait()
41 
42     fmt.Println("\nTerminating Program")
43 }
View Code

相关文章: