Bagikan melalui


Instans Pipa Bernama

Server pipa paling sederhana membuat satu instans pipa, terhubung ke satu klien, berkomunikasi dengan klien, memutuskan sambungan dari klien, menutup handel pipa, dan mengakhiri. Namun, lebih umum bagi server pipa untuk berkomunikasi dengan beberapa klien pipa. Server pipa dapat menggunakan satu instans pipa untuk terhubung dengan beberapa klien pipa dengan menyambungkan dan memutuskan sambungan dari setiap klien secara berurutan, tetapi performanya akan buruk. Server pipa harus membuat beberapa instans pipa untuk menangani beberapa klien secara efisien secara bersamaan.

Ada tiga strategi dasar untuk melayani beberapa instans pipa.

Server pipa multithreaded paling mudah ditulis, karena utas untuk setiap instans menangani komunikasi untuk satu klien pipa. Sistem mengalokasikan waktu prosesor untuk setiap utas sesuai kebutuhan. Tetapi setiap utas menggunakan sumber daya sistem, yang merupakan kerugian untuk server pipa yang menangani sejumlah besar klien.

Dengan server satu utas, lebih mudah untuk mengoordinasikan operasi yang memengaruhi beberapa klien, dan lebih mudah untuk melindungi sumber daya bersama dari akses simultan oleh beberapa klien. Tantangan dari server berulir tunggal adalah membutuhkan koordinasi operasi yang tumpang tindih untuk mengalokasikan waktu prosesor untuk menangani kebutuhan simultan klien.