POSIX mendefinisikan send / recv sebagai operasi atom, jadi dengan asumsi Anda berbicara tentang POSIX send / recv maka ya, Anda dapat memanggil mereka secara bersamaan dari beberapa utas dan semuanya akan berfungsi.
Ini tidak berarti bahwa mereka akan dieksekusi secara paralel - dalam kasus beberapa pengiriman, yang kedua kemungkinan akan diblokir sampai yang pertama selesai. Anda mungkin tidak akan melihat sebanyak ini, karena pengiriman selesai setelah memasukkan datanya ke dalam buffer socket.
Jika Anda menggunakan soket SOCK_STREAM, mencoba melakukan hal-hal yang paralel cenderung tidak berguna karena mengirim / menerima mungkin mengirim atau menerima hanya sebagian dari pesan, yang berarti berbagai hal dapat terpecah.
Memblokir send / recv pada soket SOCK_STREAM hanya memblokir sampai mereka mengirim atau menerima setidaknya 1 byte, sehingga perbedaan antara pemblokiran dan non-pemblokiran tidak berguna.