Dalam pemrograman soket, Anda membuat soket mendengarkan dan kemudian untuk setiap klien yang terhubung, Anda mendapatkan soket aliran normal yang dapat Anda gunakan untuk menangani permintaan klien. OS mengatur antrian koneksi masuk di belakang layar.
Dua proses tidak dapat diikat ke port yang sama pada saat yang sama - bagaimanapun juga secara default.
Saya bertanya-tanya apakah ada cara (pada OS terkenal mana pun, terutama Windows) untuk meluncurkan banyak contoh proses, sehingga semuanya terikat ke soket, dan dengan demikian mereka secara efektif berbagi antrian. Setiap contoh proses kemudian bisa menjadi single threaded; itu hanya akan memblokir saat menerima koneksi baru. Ketika klien terhubung, salah satu contoh proses idle akan menerima klien itu.
Ini akan memungkinkan setiap proses memiliki implementasi single-threaded yang sangat sederhana, tidak berbagi apa-apa kecuali melalui memori bersama yang eksplisit, dan pengguna akan dapat menyesuaikan bandwidth pemrosesan dengan memulai lebih banyak instance.
Apakah fitur seperti itu ada?
Edit: Bagi mereka yang bertanya "Mengapa tidak menggunakan utas?" Jelas benang adalah pilihan. Tetapi dengan beberapa utas dalam satu proses, semua objek dapat dibagikan dan perhatian besar harus dilakukan untuk memastikan bahwa objek tidak dibagikan, atau hanya terlihat oleh satu utas pada satu waktu, atau benar-benar tidak dapat diubah, dan bahasa yang paling populer dan runtime tidak memiliki dukungan bawaan untuk mengelola kompleksitas ini.
Dengan memulai beberapa proses pekerja yang identik, Anda akan mendapatkan sistem serentak yang defaultnya adalah tanpa berbagi, membuatnya lebih mudah untuk membangun implementasi yang benar dan skalabel.