fibers_scheduling.gravity 416 B

12345678910111213141516171819202122
  1. #unittest {
  2. name: "Fibers scheduling.";
  3. result: "abcbcbcbcbcbcbcbcd";
  4. };
  5. func main() {
  6. var g = "a";
  7. var n = 8;
  8. var task1 = Fiber.create({
  9. for (var i in 1...n) {g += "b"; Fiber.yield();}
  10. });
  11. var task2 = Fiber.create({
  12. for (var i in 1...n) {g += "c"; Fiber.yield();}
  13. });
  14. for (var i in 1...n) {task1.call(); task2.call();}
  15. g += "d";
  16. return g;
  17. }