Trying to understand yield()

Robin2:
I confess I have no idea where the yield() function is defined or if is something that you must create yourself if you need it - similar to serialEvent().

It does seem to be something you create yourself. Here is it 'working' - not sure how useful it may be , but it does seem as though delay() isn't quite as blocking as is made out!

unsigned long yieldCount = 0;

void setup() {
  Serial.begin(9600);
}

void yield(void) {
  Serial.println(++yieldCount);
}
void loop() {
  delay(1000);
}