class Test { static void generate(Generator gen) { int[] values = new int [] {100, 200, 300, 400, 500, 0}; int i; for(i=0; values[i] != 0; i++) { gen.yield(values[i]); Thread.usleep(500000); } } static void main(string[] args) { Generator gen = new Generator(generate); gen.start(); int value; while(gen.next(ref value)) { stdout.printf("Value = %d\n", value); } } }