Розетки одне до одного. Вам потрібно кілька розеток, якщо ви хочете надіслати одне й те саме в декілька процесів. Маючи спільну пам'ять, ви можете мати декілька читачів, а також кілька авторів.
Розетки є ресурсомісткими. Кожне повідомлення проходить через ОС. За допомогою спільної пам’яті ви відображаєте спільну пам’ять, але один раз в пам’яті програми та з цього моменту це вже використовувати. Однак вам все одно потрібно пройти ОС, коли ви використовували спільну пам'ять; Дивись нижче.
Розетки синхронізовані (поки ви не використовуєте UDP). За допомогою спільної пам’яті вам майже неминуче потрібен додатковий механізм, щоб повідомити іншим процесам, що читати чи записувати у спільну пам’ять добре / не в порядку Не робіть цього, і у вас виникнуть проблеми з пошкодженою пам'яттю. Приклад: Припустимо, процес A починає зчитувати фрагмент спільної пам'яті, але замінюється частково через прочитане. Процес B записує ту саму частину спільної пам'яті. Коли процес A перезапускається і продовжує читати спільну пам'ять, те, що він прочитав, - це мішанка старих і нових даних. Щоб цього не допустити, ви все одно проходите через ОС під час використання спільної пам'яті.
Перетворити набір програм на основі сокетів досить просто в той, який використовує мережеві сокети. Ви можете поширити обробку на всі машини у вашій лабораторії або навіть далі. просто не можу зробити це спільною пам'яттю. Ви заблоковані на одній машині із спільним рішенням на основі пам'яті.
Розетки призначені для малих обсягів даних, спільної пам’яті для великих обсягів даних. Існують різні механізми вирішення різних проблем.