From a0c94d970c586eb5e32755706cc4a64ace066516 Mon Sep 17 00:00:00 2001 From: j2-tulloch <james2.tulloch@live.uwe.ac.uk> Date: Fri, 5 Jan 2024 14:48:45 +0000 Subject: [PATCH] Upload New File --- Assignment/Task 3/main.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 Assignment/Task 3/main.cpp diff --git a/Assignment/Task 3/main.cpp b/Assignment/Task 3/main.cpp new file mode 100644 index 0000000..616bcd7 --- /dev/null +++ b/Assignment/Task 3/main.cpp @@ -0,0 +1,34 @@ +#include <iostream> +#include "scheduler.h" + +scheduler s; + +int main() { + auto lambda1 = [](void* arg) { + fiber* f = static_cast<fiber*>(arg); + std::cout << "fiber 1 before" << std::endl; + f->finish(); + f->yield(); + std::cout << "fiber 1 after" << std::endl; + s.fiber_exit(); + }; + + auto lambda2 = [](void* arg) { + fiber* f = static_cast<fiber*>(arg); + std::cout << "fiber 2" << std::endl; + f->finish(); + s.fiber_exit(); + }; + + fiber f1(lambda1, &f1); + fiber f2(lambda2, &f2); + + s.spawn(&f1); + s.spawn(&f2); + + s.do_it(); + + return 0; +} + + -- GitLab