Here we have a Channel set up via Channel(0), so it has no buffer. Our receive() call suspends until a corresponding send() call is made. Since we delay() that send() call by two seconds, our receive() suspends for those two seconds.

You can learn more about this in:
Run Edit