func start(i int) { if i == 0 { return } C.poison() // Tie up a thread. // We won't actually wait for this sleep to complete. go func() { C.sleep(1) }() start(i - 1) }
//export BackgroundSleep func BackgroundSleep(n int) { go func() { C.sleep(C.uint(n)) sleepDone <- true }() }
// calls C's sleep function func Sleep(seconds uint) { C.sleep(C.uint(seconds)) }