Blink using Thread and Callback

Revision:
0:13988e5bca16
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Nov 08 17:29:13 2018 +0000
@@ -0,0 +1,21 @@
+#include "mbed.h"
+
+Thread thread;
+DigitalOut led1(LED1);
+volatile bool running = true;
+
+// Blink function toggles the led in a long running loop
+void blink(DigitalOut *led) {
+    while (running) {
+        *led = !*led;
+        wait(1);
+    }
+}
+
+// Spawns a thread to run blink for 5 seconds
+int main() {
+    thread.start(callback(blink, &led1));
+    wait(5);
+    running = false;
+    thread.join();
+}