diff --git a/repos/mml/run/thread_test.run b/repos/mml/run/thread_test.run
new file mode 100644
index 0000000000..78253eb94e
--- /dev/null
+++ b/repos/mml/run/thread_test.run
@@ -0,0 +1,22 @@
+build 'core init app/thread_test'
+create_boot_directory
+
+install_config {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+build_boot_image "core ld lib.so init thread_test"
+append qemu_args "-nographic -m 64"
\ No newline at end of file
diff --git a/repos/mml/src/app/target.mk b/repos/mml/src/app/target.mk
new file mode 100644
index 0000000000..578ce53722
--- /dev/null
+++ b/repos/mml/src/app/target.mk
@@ -0,0 +1,3 @@
+TARGET = thread_test
+SRC_CC = std_thread_test.cc
+LIBS += base libc stdcxx
\ No newline at end of file
diff --git a/repos/mml/src/app/thread_test.cc b/repos/mml/src/app/thread_test.cc
new file mode 100644
index 0000000000..c5ed442b6c
--- /dev/null
+++ b/repos/mml/src/app/thread_test.cc
@@ -0,0 +1,28 @@
+#include
+#include
+#include
+#include
+
+namespace ThreadTest {
+ struct Main;
+}
+
+struct ThreadTest::Main
+{
+ Genode::Env &_env;
+
+ void execute()
+ {
+ while(true) {
+ std::cout << "Hello world" << std::endl;
+ std::this_thread::sleep_for(std::chrone::seconds(1));
+ }
+ }
+};
+
+void Component::construct(Genode::Env &env)
+{
+ static ThreadTest::Main main(env);
+ std::thread([main]
+ { main->execute(); });
+}
\ No newline at end of file