Это интересно, я всегда думал о канале как о трубке, которая принимает объект слева и отдает его справа. Но по умолчанию он двунаправленный, поэтому мы можем рисовать агента слева, агента справа и передавать объекты в любом направлении.

На иллюстрации [Блокировка при отправке] не совсем понятно, что спящий суслик (справа) пытается засунуть значение в канал (слева). Также мы должны четко указать, что никто не ждет, пока этот ленивый спящий суслик предпримет какие-либо действия, чтобы продолжить, напротив, он спит, потому что готов и ждет, пока другой конец выполнит свою часть работы!

Как насчет такого:

Жаль, что интуитивно (для американцев и европейцев) данные идут слева направо, а в ходу стрелка<- всегда идет справа налево. Это делает рисунок немного более запутанным (не уверен, что есть простое решение).

Спасибо за эту статью, Тревор, я твердо верю, что это именно тот материал, который нам нужен, чтобы помочь понять понимание через визуальные эффекты.