github.com/DARA-Project/GoDist-Scheduler@v0.0.0-20201030134746-668de4acea0d/examples/DataRace/datarace.go (about)

     1  package main
     2  
     3  import (
     4  	"sync"
     5  	"fmt"
     6  	"runtime"
     7  )
     8  
     9  func main() {
    10  	runtime.ReportBlockCoverage("../examples/DataRace/datarace.go:9:12")
    11  	var wg sync.WaitGroup
    12  	wg.Add(5)
    13  	for i := 0; i < 5; i++ {
    14  		runtime.ReportBlockCoverage("../examples/DataRace/datarace.go:12:13")
    15  		go func() {
    16  			runtime.ReportBlockCoverage("../examples/DataRace/datarace.go:13:17")
    17  			fmt.Println(i)
    18  			runtime.DaraLog("Child", "child_i", i)
    19  			wg.Done()
    20  		}()
    21  	}
    22  	runtime.ReportBlockCoverage("../examples/DataRace/datarace.go:19:19")
    23  	wg.Wait()
    24  }