Skip to content

Instantly share code, notes, and snippets.

@fattenap
Forked from JamsMendez/process_parallel.go
Last active September 1, 2015 04:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fattenap/c50ff9b77623c48f01b7 to your computer and use it in GitHub Desktop.
Save fattenap/c50ff9b77623c48f01b7 to your computer and use it in GitHub Desktop.
Procesos Paralelos en Go lang
package main
import (
"fmt"
"runtime"
"sync"
"time"
)
func main() {
runtime.GOMAXPROCS(2)
var waitGroup sync.WaitGroup
waitGroup.Add(4)
fmt.Println("Start Go Routines")
go func() {
defer waitGroup.Done()
time.Sleep(10 * time.Second)
fmt.Println("Finish Rutina 1")
}()
go func() {
defer waitGroup.Done()
time.Sleep(5 * time.Second)
fmt.Println("Finish Rutina 2")
}()
go func() {
defer waitGroup.Done()
time.Sleep(3 * time.Second)
fmt.Println("Finish Rutina 3")
}()
go func() {
defer waitGroup.Done()
time.Sleep(9 * time.Second)
fmt.Println("Finish Rutina 4")
}()
fmt.Println("Waiting ...")
waitGroup.Wait()
fmt.Println("Finish")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment