Sebelum kita mulai, mari kita pelajari lebih lanjut apa itu concurrency dan mengapa memperhatikan masalah concurrency lebih penting daripada membuat sub proses. Bahasa pemrograman tingkat tinggi seperti GO, Erlang, dan sebagainya disarankan untuk menangani masalah concurrency dengan menggunakan abstrak yang memungkinkan mereka untuk mengendalikan komunikasi dan kontrol kedua bidang.
Namun, apa itu concurrency, dan mengapa bahasa pemrograman tingkat tinggi berfokus pada concurrency daripada parallelism? Yuk, cek pembahasannya di bawah ini!
Pengertian Concurrency
Kemampuan suatu program untuk menangani banyak order atau request dikenal sebagai concurrency. Dimana setiap permintaan yang masuk dapat dikumpulkan dan dibebani oleh satu proses. Kita membandingkan proses dengan seorang pelayan restoran. Mereka memiliki kemampuan untuk menangani banyak perintah yang belum dibayar berdasarkan konsep concurrency. Pelayan mungkin mengambil semua pesanan dan menempatkannya menjadi satu.
Proses eksekusi consurrebcy tidak dapat diprediksi. Ini bergantung pada hal-hal berikut:
- Aktivitas proses tambahan
- Cara sistem operasi mengatasi gangguan
- Kebijakan untuk mengatur sistem operasi
Kelebihan Consurrency
- Dapat menjalankan beberapa aplikasi: Ini memungkinkan kamu mengoperasikan lebih dari satu aplikasi sekaligus.
- Pemanfaatan sumber daya yang lebih baik: Ini memungkinkan kamu menggunakan sumber daya yang tidak digunakan untuk aplikasi lain.
- Waktu dalam mengkoneksikan lebih cepat: Tanpa persaingan, setiap aplikasi harus digunakan sampai selesai sebelum aplikasi lain dapat dibuka.
- Performansi yang lebih baik: Ini memungkinkan sistem operasi melakukan lebih banyak dengan lebih baik. Ketika satu aplikasi hanya menggunakan prosesor dan yang lain hanya menggunakan disk drive, waktu yang dibutuhkan untuk menjalankan kedua aplikasi secara bersamaan hingga selesai akan lebih singkat daripada waktu yang dibutuhkan untuk menjalankan setiap aplikasi secara terpisah.
Kekurangan Consurrency
- Beberapa aplikasi membutuhkan perlindungan satu sama lain.
- Banyak aplikasi membutuhkan mekanisme tambahan.
- Untuk beralih antar aplikasi, diperlukan biaya kinerja dan kompleksitas sistem operasi tambahan.
- Terlalu banyak aplikasi dapat mengganggu kinerja.
Nah, demikianlah informasi yang telah kami rangkum mengenai concurrency. Semoga ini menambah pemahamanmu, ya.