Kode program timer

Golang – Menggunakan timer & ticker

Timer adalah representasi suatu kejadian, ketika waktu timer sudah expired, maka event akan dikirim ke dalam channel, untuk membuat timer kita bisa menggunakan time.NewTimer(duration).

Kode : Timer

Kode program timer
Kode program timer

Jadi pada contoh diatas kita membuat timer pada baris 10 selama 5 detik, kemudian kita menunggu data dikirim ke channel di baris 13, sesuai yang dibuat sebelumnya harus nya data akan masuk ke channel setelah 5 detik.

time.After

Kadang kita hanya butuh channel nya saja, tidak membutuhkan data Timer nya, untuk melakukan hal ini kita bisa menggunakan function time.After(duration), contohnya seperti berikut

Kode progrram time after
Kode progrram time after

time.AfterFunc()

Kadang ada kebutuhan kita ingin menjalankan sebuah function dengan delay waktu tertentu, kita bisa memanfaatkan Timer dengan menggunakan function timer.AfterFunc(), kita tidak perlu lagi menggunakan channel nya, cukup kirimkan function yang akan dipanggil ketika timer mengirim kejadian.

Kode program AfterFunc
Kode program AfterFunc

Perhatikan pada baris ke 14, dimana kita membuat program menungu selama 1 detik barulah function di eksekusi, dan tentunya timeAfterFunc berjalan secara asynchronous.

time.Ticker

Ticker adalah representasi kejadian yang berulang, ketika waktu ticker expired maka event akan dikirim ke channel. Untuk membuat ticker kita bisa menggunakan timeNewTicker(duration). Dan untuk menghentikannya kita bisa menggunakan TickerStop().

Kode program Ticker
Kode program Ticker

time.Tick

Kadang kita tidak butuh data Ticker nya, kita hanya butuh channel nya saja, jika demikian kita bisa menggunakan function timer.Tick(duration), function ini tidak akan mengembalikan Ticker, hanya mengembalikan channel timer nya saja.

Kode program Tick
Kode program Tick

Penutup

Pada artikel kali ini kita telah belajar tentang time & ticker pada bahasa pemrogaman go. Dan pada artikel selanjutnya saya akan membahas GOMAXPROCS pada bahasa pemrogaman go.

Leave a reply:

Your email address will not be published.

Site Footer

Sliding Sidebar

About Me

About Me

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam.

Social Profiles

Facebook