Apa Yang Dimaksud Dengan Thread?


sumber : https://www.sridianti.com/perbedaan-proses-dan-thread-dalam-os.html
Dalam dunia IT, thread adalah pelaksanaan instruksi terkecil dari program komputer yang dapat dikelola secara independen sesuai dengan jadwal. Sebuah thread adalah jalan eksekusi sederhana dalam proses. Sebuah thread adalah sebagai proses kuat karena thread bisa melakukan proses apa saja yang bisa dilakukan. Sebuah thread adalah proses ringan dan membutuhkan sumber daya yang lebih sedikit. Thread dapat mulai dari membaca dan menulis ke variabel yang sama dan struktur data variabel. Thread dapat berkomunikasi antara thread dengan mudah.
Hari ini multi-threading telah menjadi pendekatan alami untuk banyak masalah. Sebuah pekerjaan besar dibagi menjadi beberapa bagian dan masing-masing ditugaskan untuk unit eksekusi yang disebut thread. Ini hanya multi-threading. Hal ini memerlukan kehati-hatian pemrograman karena thread berbagi struktur data yang dimodifikasi oleh thread lain pada satu waktu dan juga karena thread berbagi ruang alamat yang sama. Satu keuntungan lebih dari thread adalah bahwa thread menyediakan cara yang efisien dan efektif untuk mencapai paralelisme. Sebuah throughput sistem dapat ditingkatkan dengan membiarkan beberapa thread berjalan pada beberapa prosesor karena thread adalah entitas independen yang dapat dijadwal (schedulable).
Perbedaan Proses dan Thread

Apa Perbedaan Antara Proses Dan Thread?

  • Proses sulit untuk membuat karena membutuhkan duplikasi proses induk dan alokasi memori sedangkan thread lebih mudah untuk membuat karena mereka tidak memerlukan ruang alamat yang terpisah.
  • Thread digunakan untuk tugas-tugas sederhana, sementara proses yang digunakan untuk tugas-tugas yang berat-berat seperti pelaksanaan aplikasi.
  • Proses tidak berbagi ruang alamat yang sama, namun thread dalam berbagi proses yang sama ruang alamat yang sama.
  • Proses yang independen satu sama lain, tetapi thread saling bergantung karena mereka berbagi ruang alamat yang sama.
  • Sebuah proses dapat terdiri dari beberapa thread.
  • Karena thread berbagi ruang alamat yang sama, virtual memori hanya terkait dengan proses tapi tidak dengan thread. Tapi prosesor virtual yang berbeda dikaitkan dengan setiap thread.
  • Setiap proses memiliki kode dan data sendiri sedangkan proses thread berbagi kode yang sama dan data.
  • Setiap proses dimulai dengan thread utama, tapi dapat membuat thread tambahan jika diperlukan.
  • Konteks beralih antara proses jauh lebih lambat dibandingkan konteks beralih antara thread dari proses yang sama.
  • Thread dapat memiliki akses langsung ke segmen data, tetapi proses memiliki salinan sendiri segmen data mereka.
  • roses memiliki overhead tapi tidak thread.

Komentar