Borneq

go,goroutins,channels

Dec 22nd, 2012
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 0.52 KB | None | 0 0
  1. package main
  2.  
  3. func decr(n uint64 , c chan bool ) {
  4.     for n > 0 {
  5.         n--
  6.     }
  7.     c <- true //koniec wykonywania goroutyny
  8. }
  9.  
  10. func main() {
  11.     c := make (chan bool, 4)
  12.     go decr(10000000000, c) // wszystkie
  13.     go decr(10000000000, c) // goroutyny piszą
  14.     go decr(10000000000, c) // do jednego
  15.     go decr(10000000000, c) // kanału
  16.     <-c //z kanału
  17.     <-c //wyciągnijmy
  18.     <-c //cztery
  19.     <-c // wartości
  20. } //i zakończmy program (co jest równoznaczne z zakończeniem wykonywania funkcji main)
Advertisement
Add Comment
Please, Sign In to add comment