User Tools

Site Tools


cs_lang:go

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
cs_lang:go [2012/04/21 09:02] cedriccs_lang:go [2012/04/30 09:23] cedric
Line 23: Line 23:
     a := []int{7, 2, 8, -9, 4, 0}     a := []int{7, 2, 8, -9, 4, 0}
  
-        c := make(chan int)+    c := make(chan int)
     go sum(a[:len(a)/2], c)     go sum(a[:len(a)/2], c)
     go sum(a[len(a)/2:], c)     go sum(a[len(a)/2:], c)
-        x, y := <-c, <-c  // receive from c+    x, y := <-c, <-c
  
     fmt.Println(x, y, x + y)     fmt.Println(x, y, x + y)
Line 32: Line 32:
 </code> </code>
  
 +
 +===== Fork bomb =====
 +<code go>
 +package main
 +
 +import "fmt"
 +
 +func main() {
 +    c := make(chan bool)
 +    go func() {
 +        count := 0
 +        for <- c {
 +            count++
 +            fmt.Println(count)
 +        }
 +    }()
 +    bomb(c)
 +}
 +
 +func bomb(tick chan bool) {
 +    for {
 +        tick <- true
 +        go bomb(tick)
 +    }
 +}
 +</code>
  
  
cs_lang/go.txt · Last modified: 2014/04/18 23:19 by cedric