diff options
Diffstat (limited to 'example/test.cc')
-rw-r--r-- | example/test.cc | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/example/test.cc b/example/test.cc new file mode 100644 index 0000000..7307bec --- /dev/null +++ b/example/test.cc @@ -0,0 +1,33 @@ +#include "lib/matcha.h" + +#include <cassert> +#include <cstdio> + +Thread* gThread1 = nullptr; + +void thread1_1() { + puts("thread1_1"); +} + +void thread1() { + puts("start thread1"); + thread1_1(); + puts("finish thread1"); + + assert(gThread1 != nullptr); + yield_from(*gThread1); +} + +int main() { + puts("start main thread"); + + Thread t(thread1); + gThread1 = &t; + + yield_to(t); + + gThread1 = nullptr; + + puts("finish main thread"); + return 0; +} |