12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package main
- import (
- "fmt"
- "runtime"
- "sync"
- )
- func main() {
-
- var wg sync.WaitGroup
-
- runtime.GOMAXPROCS(2)
-
- wg.Add(2)
- func() {
- fmt.Println("hello")
- }()
-
- fmt.Println("Create Goroutines")
- go printPrime("A", &wg)
- go printPrime("B", &wg)
-
- fmt.Println("Waiting To Finish")
- wg.Wait()
- fmt.Println("Terminating Program")
- }
- func printPrime(prefix string, wg *sync.WaitGroup) {
-
- defer wg.Done()
- next:
- for outer := 2; outer < 5000; outer++ {
- for inner := 2; inner < outer; inner++ {
- if outer%inner == 0 {
- continue next
- }
- }
- fmt.Printf("%s:%d\n", prefix, outer)
- }
- fmt.Println("Completed", prefix)
- }
|