Saya telah berusaha menemukan definisi yang baik, dan mendapatkan pemahaman, tentang apa sebenarnya thread itu.
Tampaknya saya harus kehilangan sesuatu yang jelas, tetapi setiap kali saya membaca tentang apa sebuah utas, hampir merupakan definisi melingkar, ala "utas adalah utas eksekusi" atau "cara untuk membagi ke dalam menjalankan tugas". Uh uh. Hah?
Tampaknya dari apa yang saya baca bahwa utas bukanlah sesuatu yang konkret, seperti sebuah proses. Ini sebenarnya hanya sebuah konsep. Dari apa yang saya pahami dari cara kerja ini, prosesor mengeksekusi beberapa perintah untuk program (yang telah disebut sebagai thread eksekusi ), kemudian saat dibutuhkan untuk beralih ke pengolahan untuk beberapa program lain untuk sedikit, itu menyimpan state dari program yang saat ini sedang dieksekusi di suatu tempat (Utas Penyimpanan Lokal) dan kemudian mulai jalankan instruksi program lainnya. Dan bolak-balik. Sedemikian rupa, utas benar-benar hanya sebuah konsep untuk "salah satu jalur eksekusi" dari program yang sedang berjalan.
Tidak seperti proses, yang benar-benar sesuatu - itu adalah konglomerasi sumber daya, dll.
Sebagai contoh definisi yang tidak banyak membantu saya. . .
Dari Wikipedia :
"Sebuah utas dalam ilmu komputer adalah kependekan dari sebuah utas eksekusi. Utas adalah cara bagi sebuah program untuk membagi (disebut" split ") itu sendiri menjadi dua atau lebih secara simultan (atau pseudo-simultan) menjalankan tugas. Utas dan proses berbeda dari satu sistem operasi ke yang lain tetapi, secara umum, sebuah thread terdapat di dalam suatu proses dan utas yang berbeda dalam proses yang sama berbagi sumber daya yang sama sedangkan proses yang berbeda dalam sistem operasi multitasking yang sama tidak. "
Apakah saya benar? Salah? Apa sebenarnya thread itu?
Edit: Ternyata thread juga diberikan panggilan stack sendiri, sehingga agak dari beton hal .