Thread dan Multithread

Thread adalah kumpulan instruksi yang dieksekusi secara independen.

Thread adalah alur kontrol dari suatu proses

Multithreading adalah kemampuan yang memungkinkan beberapa kumpulan instruksi (thread) dijalankan secara bersamaan dalam sebuah proses

Manfaat dari multithreading: Ketika kita mengakses sebuah broswser thread yang terbuka terlebih dahulu biasanya “text” kemudian “gambar” dari contoh tersebut terlihat manfaatnya responsif; tidak nunggu gambar load semua baru memunculkan yang lain, kemudian berbagi sumber daya; dalam alokasi memori yang sama terdapat beberapa thread yang berbeda, lalu ekonomis; karena thread dapat membagi memori dan sumber daya-nya, dan terakhir utilisasi arsitektur prosesor; sebuah proses dijalankan pada arsitektur prosesor/multiprosesor, penggunaan multithread dapat meningkat ketika menggunakan multiprosesor, karena setiap prosesor dapat mengerjakan thread yang berbeda secara bersamaan.

multi-threading-model

3 model multi-threading:

  1. Many-to-One: memetakan beberapa thread tingkatan pengguna ke sebuah thread.
  2. One-to-One: memetakan setiap thread tingkatan ke setiap thread.
  3. Many-to-Many: multipleks banyak thread tingkatan ke thread kernel yang jumlahnya sdikit atau sama dengan tingkatan pengguna.

Reference:

  1. Multi-Threading 
  2. Keuntungan MultiThreading
  3. Model multi-threading

Object Oriented Programming (OOP)

Kumpulan objek yang berkolaborasi dengan saling mengirimkan pesan satu sama lain.

  • Pemanggilan objek lain untuk mengeluarkan hasil yang di-inginkan.
  • Panggilan berulang tidak di selesaikan hingga runtime.
  • Polymorphism; objek yang berbeda dipanggil untuk implementasi suatu pesan yang sama.
  • Inheritance; penggunaan turunan atau delegasi turunan.
  • Enkapsulasi; merupakan kumpulan instruksi yang di enkapsulasi. Ketika memanggil prosedur itu kita tidak tahu isi di dalamnya (seakan ter-enkapsulasi, dimasukan ke dalam kapsul).
  • Abstraction; menyembunyikan detail, hanya menunjukkan fitur penting pada objek.
  • Sembunyikan informasi; ketika objek A ingin memanggil objek B, objek A tidak perlu tahu apa isi objek B. Fungsinya, ketika objek B bermasalah, tidak ada keperluan untuk merubah isi dari objek A

 

Reference:

  1. What makes a language Object-Oriented?
  2. https://magneticinfo.blogspot.co.id/2014/08/apa-itu-object-oriented-programming-oop.html