GO : Goroutines


Dalam bahasa pemrograman Go, mendukung adanya goroutine. Sebuah goroutine adalah thread yang ringan dari eksekusi.
package main 
import "fmt"
func f(from string) {
    for i := 0; i < 3; i++ {
        fmt.Println(from, ":", i)
    }
}
func main() {
 //Anggap saja kita memiliki sebuah fungsi f(s). Hal ini adalah yang memanggil dengan
cara biasa, dan menjalankannya serempak.
    f("direct")
 //Untuk memanggil fungsi ini dalam goroutine, gunakan go f(s). Goroutine baru ini akan
mengeksekusi bersamaan dengan memanggil satu.
    go f("goroutine")
 //Bisa juga memulai goroutine untuk fungsi panggilan anonim.
    go func(msg string) {
        fmt.Println(msg)
    }("going")
    //Dua goroutines ini berjalan secara asynchronously di goroutines terpisah sekarang, jadi
eksekusi jatuh sampai di sini. Kode Scanln ini membutuhkan kita
menekan tombol sebelum keluar program.
    var input string
    fmt.Scanln(&input)
    fmt.Println("done")
}
Output
 //Ketika kita menjalankan program ini, kita melihat output dari pemblokiran
panggilan pertama, maka output disisipkan dari dua gouroutines.
Interleaving ini mencerminkan goroutines yang dijalankan secara
bersamaan oleh runtime Go.
direct : 0
direct : 1
direct : 2
goroutine : 0
going
goroutine : 1
goroutine : 2
<enter>
done
Source 

Comments

Popular posts from this blog

Dampak Photoshop terhadap Identitas Diri

Dampak negatif Smartphone terhadap kesehatan

Mengenal Barcode