В рамках моего курса Uni нам показали и попросили использовать каналы для связи между процессами (используя pipe()
и fork()
) для нескольких небольших упражнений.Нет проблем, чтобы заставить его работать или с концепцией, но вне этих требований мне интересно, насколько эффективно писать и читать с помощью канала такого типа?
Если у меня есть какая-то ценность, которую я 'm упаковка в блок из 4 байтов, лучше ли упаковать и записать 100 значений (то есть 400 байтов) одновременно?
Или производительность сопоставима, если я делаю 100 записей каждый из 4 байтов?
Обеспечивает ли передача по каналу 400 байт за один раз, чтобы получатель ничего не делал, пока запись не будет завершена - при условии, что получатель пытается прочитать только первые 4 байта, сможет ли он сделать это после того, как они записаныно прежде чем все 400 закончились?