/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/chan/select7.go
68 строк
932 B
Emmanuel Odeke
all: make copyright headers consistent with one space after period
02 май 2016, 16:43
02 май 2016, 16:43
53fd522
Код
Авторство
О чём код?
// run // Copyright 2011 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. // Test select when discarding a value. package main import "runtime" func recv1(c <-chan int) { <-c } func recv2(c <-chan int) { select { case <-c: } } func recv3(c <-chan int) { c2 := make(chan int) select { case <-c: case <-c2: } } func send1(recv func(<-chan int)) { c := make(chan int) go recv(c) runtime.Gosched() c <- 1 } func send2(recv func(<-chan int)) { c := make(chan int) go recv(c) runtime.Gosched() select { case c <- 1: } } func send3(recv func(<-chan int)) { c := make(chan int) go recv(c) runtime.Gosched() c2 := make(chan int) select { case c <- 1: case c2 <- 1: } } func main() { send1(recv1) send2(recv1) send3(recv1) send1(recv2) send2(recv2) send3(recv2) send1(recv3) send2(recv3) send3(recv3) }