Proses adalah keadaan ketika sebuah program sedang di eksekusi. Saat komputer
berjalan, terdapat banyak proses yang berjalan secara bersamaan. Sebuah proses dibuat
melalui system call create-process yang membentuk proses turunan ( child process) yang
dilakukan oleh proses induk ( parent process). Proses turunan tersebut juga mampu
membuat proses baru sehingga semua proses ini pada akhirnya membentuk pohon proses.
Thread merupakan unit dasar dari penggunaan CPU, yang terdiri dari Thread ID, program
counter, register set, dan stack. Sebuah threadberbagi code section, data section, dan
sumber daya sistem operasi dengan Thread lain yang dimiliki oleh proses yang sama.
Thread juga sering disebut lightweight process. Sebuah proses tradisional atau heavyweight
process mempunyai thread tunggal yang berfungsi sebagai pengendali. Perbedaan antara
thread dan proses adalah terletak pada tugas, pada thread digunakan untuk tugas - tugas
sederhana, sementara proses yang digunakan untuk tugas-tugas yang berat - berat seperti
pelaksanaan aplikasi. Proses dan thread dua teknik yang digunakan oleh programmer untuk
mengontrol prosesor dan pelaksanaan instruksi pada komputer dengan cara yang efisien
dan efektif. Sebuah proses dapat berisi beberapa thread. Thread menyediakan cara yang
efisien untuk berbagi memori meskipun beroperasi beberapa eksekusi dari proses. Oleh
karena itu, thread merupakan alternatif untuk beberapa proses. Dengan tren yang
berkembang menuju prosesor multi-core, thread akan menjadi alat yang paling penting
dalam dunia programmer.