/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/chan/goroutines.go
41 строка
743 B
Rob Pike
test/chan: document tests
19 фев 2012, 10:44
19 фев 2012, 10:44
3fb5f32
Код
Авторство
О чём код?
// run // Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Torture test for goroutines. // Make a lot of goroutines, threaded together, and tear them down cleanly. package main import ( "os" "strconv" ) func f(left, right chan int) { left <- <-right } func main() { var n = 10000 if len(os.Args) > 1 { var err error n, err = strconv.Atoi(os.Args[1]) if err != nil { print("bad arg\n") os.Exit(1) } } leftmost := make(chan int) right := leftmost left := leftmost for i := 0; i < n; i++ { right = make(chan int) go f(left, right) left = right } go func(c chan int) { c <- 1 }(right) <-leftmost }