Synchronous vs Asynchronous
Segerak dan tak segerak dua perkataan besar yang kelihatan menakutkan tetapi agak mudah. Segerak hanya bermaksud bahawa semua peristiwa berlaku dalam suatu urutan masa tertentu yang boleh diramalkan. Satu peristiwa tertentu akan sentiasa mengikuti satu lagi dan mereka tidak boleh ditukar. Asynchronous adalah bertentangan dengan segerak. Dalam proses tak segerak, tidak ada pesanan masa. Peristiwa tertentu boleh, dan sering dilakukan, pertukaran. Satu contoh segerak yang sangat baik adalah muzik. Setiap alat yang mengambil bahagian perlu berada dalam irama dengan yang lain atau muzik tidak akan berbunyi dengan betul. Untuk tidak segerak, contoh yang baik akan menjadi trafik. Kenderaan bergerak pada kelajuan yang berbeza dan ia adalah perkara biasa bagi seseorang untuk bergerak melewati yang lain.
Dalam kebanyakan aplikasi, pengendalian segerak adalah penting kerana mempunyai operasi asynchronous bermakna secara huru-hara. Contohnya ialah kereta api dan lapangan terbang. Dalam senario ini, adalah penting untuk mengetahui kenderaan mana yang akan digunakan untuk mengelakkan pertembungan. Perintah perkara dirancang dengan teliti untuk memudahkan aliran lancar dan perubahan pada pelan yang sedikit dan jauh di antara.
Walaupun pengendalian segerak sering dipilih, terdapat kes-kes tertentu di mana ia tidak diperlukan. Terdapat juga kes-kes di mana operasi segerak boleh menjejaskan objektif. Satu contoh di mana operasi penyegerakan tidak semestinya diperlukan dalam penyemakan imbas internet. Sebelum AJAX (Javascript Asynchronous dan XML) kebanyakan halaman web perlu dimuat semula secara keseluruhannya untuk mengubah maklumat pada seksyen kecil. Dengan AJAX, kini mungkin untuk mengemas kini bahagian tertentu sambil meninggalkan seluruh halaman yang tidak disentuh. Ini berfaedah kerana jumlah data yang lebih kecil perlu dihantar dan pengguna tidak perlu bertahan melalui keseluruhan halaman yang menyegarkan. AJAX tidak segerak kerana kemas kini halaman tidak lagi disegerakkan.
Dalam operasi komputer, I / O adalah kawasan di mana operasi segerak menjadi merugikan. Operasi segerak dalam hal ini bermakna bahawa pemproses perlu menunggu data ditulis atau dibaca sebelum dapat diteruskan. Masalahnya ialah, peranti I / O seperti cakera keras dan pemacu cakera liut, yang mempunyai bahagian mekanikal, sangat lambat. Sekiranya pemproses perlu menunggu pemanduan selesai, ia akan membuang banyak masa. Operasi asynchronous membolehkan pemproses melakukan perkara-perkara lain sambil menunggu membaca / menulis untuk menyelesaikan dan hanya menjalankan setelah operasi telah berjaya.
Ringkasan:
Penyegerakan bermakna dalam masa yang ditetapkan sementara Asynchronous bermakna tiada pesanan masa
Penyegerakan lebih disukai berbanding asynchronous dalam banyak aplikasi dunia sebenar
Segerak boleh melakukan lebih buruk dalam senario tertentu daripada asynchronous