Blocking IO vs NonBlocking IO


pernah denger blocking io dan non blocking io? yuk kita bahas sekarang 

‪#‎BlockingIO‬

atau dikenal juga dengan synchronous io. dalam blocking io sebuah proses akan dilaksanakan jika proses sebelumnya telah selesai dilaksanakan.

rata2 semua web server dan web framework sekarang itu blocking io.

dalam server blocking io, biasanya punya maksimal kapasitas queue, misal jika max queue = 300, sedangkan pada saat yang bersamaan terdapat 1000 request, maka otomatis 700 request akan ditahan, sampai 300 request pertama selesai dilaksanakan, hal ini membuat respon server terlihat lambat sekali, karena harus menunggu proses pertama selesai.

‪#‎NonBlockingIO‬

berbeda dengan blocking io, non blocking io biasa disebut juga dengan asynchronous io. dalam non blocking io, setiap request akan dilaksakan langsung tanpa harus menunggu request yang lain selesai dilaksanakan.

dalam non blocking io, setiap proses akan langsung dikembalikan, tanpa harus menunggu proses selesai. lantas bagaimana mendapat hasilnya jika proses belum selesai sedangkan sudah dikembalikan? non blocking io akan mengirim hasil melalui callback/listener

‪#‎Contoh‬
berikut adalah contoh framework yang menggunakan non blocking io :
– Netty
– Akka
– Play Framework
– NodeJS
– … (silahkan tambahkan yang lain di komen)

‪#‎SemogaBermanfaat‬

Iklan

Satu pemikiran pada “Blocking IO vs NonBlocking IO

  1. Tolong dibantu,, kemarin saya mau download file transisi antar panel, tp link downloadnya g bsa dibuka, mungkin ada yang terbaru. sudah sempat ikutin caranya yang di program emovie rental, tp panelnya ga berubah,,, mungkin ada yang kurang,,,

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s