ProgrammerZamanNow / qna

Q&A Bareng Programmer Zaman Now, Orang Ganteng dan Intelek
259 stars 7 forks source link

Relasi Concurrency, Parallelism, Async, and Sync #284

Open Fajar-Islami opened 2 years ago

Fajar-Islami commented 2 years ago

Saya sudah searching sana sini. Tapi selalu dibatasi Concurrency vs Parallelism dan Async vs and Sync

Saya ingin mengetahui bagaimana relasi nya

hal8888 commented 1 year ago

Halo bantu jawab.

Async dan Sync itu processing model, sedangkan Concurrency dan Parallelism itu execution model. Sync itu berjalan di satu thread(single-threaded) pemosresan dan harus selesai dulu sebelum proses selanjutnya dijalankan. Async itu ketika lebih dari satu proses bisa dieksekusi, bisa single-threaded atau multi-threaded. Async memiliki 2 jenis model eksekusi yaitu Concurrent atau Parallel.

Concurrent -> mengatasi banyak komputasi dalam satu waktu. Butuh runtime untuk mengkoordinasikan antar komputasi. Concurrency terbagi menjadi 2 jenis:

Parallel -> menjalankan banyak komputasi dalam satu waktu. Biasanya menggunakan native OS threads untuk eksekusi proses. Tidak membutuhkan runtime/scheduler karena setiap unit komputasi harus dieksekusi langsung oleh OS threads(execution threads).

Penggunaan:

CMIIW