Skip to content

rachelmathilda/tutorial10-timer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tutorial 10

Timer

Nama: Rachel Mathilda

NPM: 2206081673

Kelas: B

Understanding how it works

alt text cara kode bekerja:

  • executor berfungsi untuk menerima tugas dari ready_queue. executor sendiri merupakan single-threaded yang cara prosesnya satu per satu.
  • spawner berfungsi untuk menjadwalkan tugas baru ke kanal tanpa dieksekusi secara langsung.
  • task berfungsi untuk mengelola Future yang dibungkus dalam Arc.
  • timerfuture berfungsi untuk delay durasi tertentu. disini pakai 2 detik saja.

alasan mengapa yang Rachel's Computer: hey hey muncul terlebih dahulu dibanding Rachel's Computer: howdy! dan Rachel's Computer: done! adalah karena baris tersebut di eksekusi sebelum executor memproses tugas di kanal. setelah itu ada drop(spawner) yang menghapus spawner sehingga tugas baru ga di proses lagi karena udah masuk ke kanal. kemudian executor.run() memproses tugas yang sudah ada di kanal.

Multiple Spawn and removing drop

alt text spawning menambahkan tugas Task ke antrian dengan metode Spawner::spawn. dengan ada spawning maka tugas ga langsung dieksekusi tapi nunggu di kernel.

fungsi:

  • spawner berfungsi untuk untuk jadwalin Future baru ke antrian untuk di eksekusi executor
  • executor berfungsi untuk ambil tugas di kanal dan proses sampai selesai
  • drop berfungsi untuk menghapus spawner dan nutup ujung pengirim kanal (SyncSender), dengan kata lain aba-aba kalau gaada Spawner lain yang bakal masuk ke kanal sehingga kanal bisa ditutup (program selesai)

kenapa urutannya bukan howdy terus done itu karena ada jeda 2 detik kemudian executor memproses tugas dari kanal secara First-In, First-Out. selain itu, program ga berhenti karena fungsi drop dihapus.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages