Tolong jelaskan mengenai void foo() dari D (bahasa pemrograman)

receive( // Delegates digunakan untuk mencocokkan jenis pesan.

(int msg) => writeln("int received: ", msg),

(Tid sender) { cont = false; sender.send(-1); },

(Variant v) => writeln("huh?") // Varian cocok dengan jenis apa pun

auto tid = spawn(&foo); // membuat sebuah thread foo() berjalan baru

foreach (i; 0 .. 10)

tid.send(i);   // mengirim beberapa integer

tid.send(1.0f);    // mengirim sebuah float

tid.send("hello"); // mengirim sebuah string

tid.send(thisTid); // mengirim sebuah struct (Tid)

receive((int x) => writeln("Thread utama menerima pesan: ", x));

Berikut ini tentang pemrograman Thread yang menggunakan library Phobos. Skenarionya, ini merupakan pemrograman berbasis console, di mana seorang user bisa menghentikan proses yang sedang terjadi dengan menekan tombol q atau Q di keyboard. Proses yang sedang terjadi dijalankan melalui sebuah Thread dan proses menunggu juga dilakukan dalam Thread yang dipanggil dari sebuah Thread utama di fungsi main.