| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540 |
- /**
- TaskScheduler Test sketch - test of Task destructor
- Test case:
- Main task runs every 100 milliseconds 100 times and in 50% cases generates a task object
- which runs 1 to 10 times with 100 ms to 5 s interval, and then destroyed.
- This sketch uses a FreeMemory library: https://github.com/McNeight/MemoryFree
- */
- #define _TASK_WDT_IDS // To enable task unique IDs
- #define _TASK_SLEEP_ON_IDLE_RUN // Compile with support for entering IDLE SLEEP state for 1 ms if not tasks are scheduled to run
- #define _TASK_LTS_POINTER // Compile with support for Local Task Storage pointer
- #include <TaskScheduler.h>
- #include <MemoryFree.h>
- Scheduler ts;
- // Callback methods prototypes
- void MainLoop();
- // Statis task
- Task tMain(100*TASK_MILLISECOND, 100, MainLoop, &ts, true);
- void Iteration();
- bool OnEnable();
- void OnDisable();
- int noOfTasks = 0;
- void MainLoop() {
- Serial.print(millis()); Serial.print("\t");
- Serial.print("MainLoop run: ");
- int i = tMain.getRunCounter();
- Serial.print(i); Serial.print(F(".\t"));
- if ( random(0, 101) > 50 ) { // generate a new task only in 50% of cases
- // Generating another task
- long p = random(100, 5001); // from 100 ms to 5 seconds
- long j = random(1, 11); // from 1 to 10 iterations)
- Task *t = new Task(p, j, Iteration, &ts, false, OnEnable, OnDisable);
- Serial.print(F("Generated a new task:\t")); Serial.print(t->getId()); Serial.print(F("\tInt, Iter = \t"));
- Serial.print(p); Serial.print(", "); Serial.print(j); Serial.print(F("\tFree mem="));
- Serial.print(freeMemory()); Serial.print(F("\tNo of tasks=")); Serial.println(++noOfTasks);
- t->enable();
- }
- else {
- Serial.println(F("Skipped generating a task"));
- }
- }
- void Iteration() {
- Task &t = ts.currentTask();
- Serial.print(millis()); Serial.print("\t");
- Serial.print("Task N"); Serial.print(t.getId()); Serial.print(F("\tcurrent iteration: "));
- int i = t.getRunCounter();
- Serial.println(i);
- }
- bool OnEnable() {
- // to-do: think of something to put in here.
- return true;
- }
- void OnDisable() {
- Task *t = &ts.currentTask();
- unsigned int tid = t->getId();
-
- delete t;
- Serial.print(millis()); Serial.print("\t");
- Serial.print("Task N"); Serial.print(tid); Serial.print(F("\tfinished and destroyed.\tFree mem="));
- Serial.print(freeMemory());Serial.print(F("\tNo of tasks=")); Serial.println(--noOfTasks);
- }
- /**
- Standard Arduino setup and loop methods
- */
- void setup() {
- Serial.begin(115200);
- randomSeed(analogRead(0) + analogRead(5));
- noOfTasks = 0;
- Serial.println(F("Dynamic Task Creation/Destruction Example"));
- Serial.println();
- Serial.print(F("Free mem="));
- Serial.print(freeMemory()); Serial.print(F("\tNo of tasks=")); Serial.println(noOfTasks);
- Serial.println();
- }
- void loop() {
- ts.execute();
- }
- /* Output on Arduino Uno:
- *
- * Compile:
- Sketch uses 5312 bytes (16%) of program storage space. Maximum is 32256 bytes.
- Global variables use 282 bytes (13%) of dynamic memory, leaving 1766 bytes for local variables. Maximum is 2048 bytes.
- * Execution:
-
- Dynamic Task Creation/Destruction Example
- Free mem=1758 No of tasks=0
- 1 MainLoop run: 1. Generated a new task: 2 Int, Iter = 421, 3 Free mem=1701 No of tasks=1
- 8 Task N2 current iteration: 1
- 100 MainLoop run: 2. Generated a new task: 3 Int, Iter = 4099, 9 Free mem=1656 No of tasks=2
- 102 Task N3 current iteration: 1
- 200 MainLoop run: 3. Skipped generating a task
- 300 MainLoop run: 4. Generated a new task: 4 Int, Iter = 1795, 1 Free mem=1611 No of tasks=3
- 302 Task N4 current iteration: 1
- 305 Task N4 finished and destroyed. Free mem=1613 No of tasks=2
- 400 MainLoop run: 5. Skipped generating a task
- 429 Task N2 current iteration: 2
- 500 MainLoop run: 6. Skipped generating a task
- 600 MainLoop run: 7. Skipped generating a task
- 700 MainLoop run: 8. Generated a new task: 5 Int, Iter = 4623, 7 Free mem=1611 No of tasks=3
- 702 Task N5 current iteration: 1
- 800 MainLoop run: 9. Generated a new task: 6 Int, Iter = 4987, 4 Free mem=1566 No of tasks=4
- 802 Task N6 current iteration: 1
- 850 Task N2 current iteration: 3
- 850 Task N2 finished and destroyed. Free mem=1568 No of tasks=3
- 900 MainLoop run: 10. Generated a new task: 7 Int, Iter = 600, 4 Free mem=1566 No of tasks=4
- 902 Task N7 current iteration: 1
- 1000 MainLoop run: 11. Skipped generating a task
- 1100 MainLoop run: 12. Generated a new task: 8 Int, Iter = 2530, 1 Free mem=1521 No of tasks=5
- 1102 Task N8 current iteration: 1
- 1105 Task N8 finished and destroyed. Free mem=1523 No of tasks=4
- 1200 MainLoop run: 13. Skipped generating a task
- 1300 MainLoop run: 14. Generated a new task: 9 Int, Iter = 2215, 7 Free mem=1521 No of tasks=5
- 1302 Task N9 current iteration: 1
- 1400 MainLoop run: 15. Skipped generating a task
- 1500 MainLoop run: 16. Skipped generating a task
- 1502 Task N7 current iteration: 2
- 1600 MainLoop run: 17. Skipped generating a task
- 1700 MainLoop run: 18. Skipped generating a task
- 1800 MainLoop run: 19. Skipped generating a task
- 1900 MainLoop run: 20. Skipped generating a task
- 2000 MainLoop run: 21. Generated a new task: 10 Int, Iter = 189, 10 Free mem=1476 No of tasks=6
- 2002 Task N10 current iteration: 1
- 2100 MainLoop run: 22. Generated a new task: 11 Int, Iter = 2898, 9 Free mem=1431 No of tasks=7
- 2102 Task N7 current iteration: 3
- 2105 Task N11 current iteration: 1
- 2191 Task N10 current iteration: 2
- 2200 MainLoop run: 23. Generated a new task: 12 Int, Iter = 1691, 6 Free mem=1386 No of tasks=8
- 2202 Task N12 current iteration: 1
- 2300 MainLoop run: 24. Generated a new task: 13 Int, Iter = 1448, 7 Free mem=1341 No of tasks=9
- 2304 Task N13 current iteration: 1
- 2380 Task N10 current iteration: 3
- 2400 MainLoop run: 25. Generated a new task: 14 Int, Iter = 3919, 7 Free mem=1296 No of tasks=10
- 2403 Task N14 current iteration: 1
- 2500 MainLoop run: 26. Generated a new task: 15 Int, Iter = 3745, 5 Free mem=1251 No of tasks=11
- 2503 Task N15 current iteration: 1
- 2569 Task N10 current iteration: 4
- 2600 MainLoop run: 27. Skipped generating a task
- 2700 MainLoop run: 28. Skipped generating a task
- 2702 Task N7 current iteration: 4
- 2702 Task N7 finished and destroyed. Free mem=1253 No of tasks=10
- 2758 Task N10 current iteration: 5
- 2800 MainLoop run: 29. Generated a new task: 16 Int, Iter = 2144, 1 Free mem=1251 No of tasks=11
- 2803 Task N16 current iteration: 1
- 2806 Task N16 finished and destroyed. Free mem=1253 No of tasks=10
- 2900 MainLoop run: 30. Generated a new task: 17 Int, Iter = 4618, 10 Free mem=1251 No of tasks=11
- 2904 Task N17 current iteration: 1
- 2947 Task N10 current iteration: 6
- 3000 MainLoop run: 31. Skipped generating a task
- 3100 MainLoop run: 32. Generated a new task: 18 Int, Iter = 2885, 6 Free mem=1206 No of tasks=12
- 3103 Task N18 current iteration: 1
- 3136 Task N10 current iteration: 7
- 3200 MainLoop run: 33. Skipped generating a task
- 3300 MainLoop run: 34. Skipped generating a task
- 3325 Task N10 current iteration: 8
- 3400 MainLoop run: 35. Skipped generating a task
- 3500 MainLoop run: 36. Generated a new task: 19 Int, Iter = 2250, 4 Free mem=1161 No of tasks=13
- 3503 Task N19 current iteration: 1
- 3514 Task N10 current iteration: 9
- 3518 Task N9 current iteration: 2
- 3600 MainLoop run: 37. Skipped generating a task
- 3700 MainLoop run: 38. Generated a new task: 20 Int, Iter = 1689, 7 Free mem=1116 No of tasks=14
- 3703 Task N10 current iteration: 10
- 3706 Task N20 current iteration: 1
- 3709 Task N10 finished and destroyed. Free mem=1118 No of tasks=13
- 3750 Task N13 current iteration: 2
- 3800 MainLoop run: 39. Generated a new task: 21 Int, Iter = 2607, 5 Free mem=1116 No of tasks=14
- 3803 Task N21 current iteration: 1
- 3893 Task N12 current iteration: 2
- 3900 MainLoop run: 40. Generated a new task: 22 Int, Iter = 1390, 6 Free mem=1071 No of tasks=15
- 3903 Task N22 current iteration: 1
- 4000 MainLoop run: 41. Generated a new task: 23 Int, Iter = 3340, 8 Free mem=1026 No of tasks=16
- 4003 Task N23 current iteration: 1
- 4100 MainLoop run: 42. Skipped generating a task
- 4200 MainLoop run: 43. Skipped generating a task
- 4201 Task N3 current iteration: 2
- 4300 MainLoop run: 44. Skipped generating a task
- 4400 MainLoop run: 45. Generated a new task: 24 Int, Iter = 4083, 2 Free mem=981 No of tasks=17
- 4403 Task N24 current iteration: 1
- 4500 MainLoop run: 46. Generated a new task: 25 Int, Iter = 4510, 1 Free mem=936 No of tasks=18
- 4503 Task N25 current iteration: 1
- 4506 Task N25 finished and destroyed. Free mem=938 No of tasks=17
- 4600 MainLoop run: 47. Generated a new task: 26 Int, Iter = 4782, 10 Free mem=936 No of tasks=18
- 4603 Task N26 current iteration: 1
- 4700 MainLoop run: 48. Generated a new task: 27 Int, Iter = 641, 6 Free mem=891 No of tasks=19
- 4702 Task N27 current iteration: 1
- 4800 MainLoop run: 49. Generated a new task: 28 Int, Iter = 695, 5 Free mem=846 No of tasks=20
- 4802 Task N28 current iteration: 1
- 4900 MainLoop run: 50. Generated a new task: 29 Int, Iter = 3520, 3 Free mem=801 No of tasks=21
- 4903 Task N29 current iteration: 1
- 5000 MainLoop run: 51. Generated a new task: 30 Int, Iter = 3091, 9 Free mem=756 No of tasks=22
- 5002 Task N11 current iteration: 2
- 5006 Task N30 current iteration: 1
- 5100 MainLoop run: 52. Skipped generating a task
- 5198 Task N13 current iteration: 3
- 5200 MainLoop run: 53. Skipped generating a task
- 5293 Task N22 current iteration: 2
- 5300 MainLoop run: 54. Generated a new task: 31 Int, Iter = 4359, 9 Free mem=711 No of tasks=23
- 5303 Task N31 current iteration: 1
- 5325 Task N5 current iteration: 2
- 5343 Task N27 current iteration: 2
- 5392 Task N20 current iteration: 2
- 5400 MainLoop run: 55. Generated a new task: 32 Int, Iter = 837, 4 Free mem=666 No of tasks=24
- 5403 Task N32 current iteration: 1
- 5497 Task N28 current iteration: 2
- 5501 MainLoop run: 56. Generated a new task: 33 Int, Iter = 274, 8 Free mem=621 No of tasks=25
- 5505 Task N33 current iteration: 1
- 5584 Task N12 current iteration: 3
- 5600 MainLoop run: 57. Generated a new task: 34 Int, Iter = 923, 7 Free mem=576 No of tasks=26
- 5603 Task N34 current iteration: 1
- 5700 MainLoop run: 58. Generated a new task: 35 Int, Iter = 1007, 8 Free mem=531 No of tasks=27
- 5703 Task N35 current iteration: 1
- 5732 Task N9 current iteration: 3
- 5753 Task N19 current iteration: 2
- 5778 Task N33 current iteration: 2
- 5789 Task N6 current iteration: 2
- 5800 MainLoop run: 59. Skipped generating a task
- 5900 MainLoop run: 60. Generated a new task: 36 Int, Iter = 608, 4 Free mem=486 No of tasks=28
- 5903 Task N36 current iteration: 1
- 5984 Task N27 current iteration: 3
- 5988 Task N18 current iteration: 2
- 6000 MainLoop run: 61. Generated a new task: 37 Int, Iter = 4043, 3 Free mem=441 No of tasks=29
- 6003 Task N37 current iteration: 1
- 6052 Task N33 current iteration: 3
- 6100 MainLoop run: 62. Skipped generating a task
- 6192 Task N28 current iteration: 3
- 6200 MainLoop run: 63. Skipped generating a task
- 6239 Task N32 current iteration: 2
- 6248 Task N15 current iteration: 2
- 6300 MainLoop run: 64. Skipped generating a task
- 6322 Task N14 current iteration: 2
- 6326 Task N33 current iteration: 4
- 6400 MainLoop run: 65. Skipped generating a task
- 6410 Task N21 current iteration: 2
- 6500 MainLoop run: 66. Skipped generating a task
- 6510 Task N36 current iteration: 2
- 6525 Task N34 current iteration: 2
- 6600 MainLoop run: 67. Skipped generating a task
- 6600 Task N33 current iteration: 5
- 6625 Task N27 current iteration: 4
- 6646 Task N13 current iteration: 4
- 6683 Task N22 current iteration: 3
- 6700 MainLoop run: 68. Generated a new task: 38 Int, Iter = 1907, 9 Free mem=396 No of tasks=30
- 6703 Task N38 current iteration: 1
- 6709 Task N35 current iteration: 2
- 6800 MainLoop run: 69. Skipped generating a task
- 6874 Task N33 current iteration: 6
- 6887 Task N28 current iteration: 4
- 6900 MainLoop run: 70. Generated a new task: 39 Int, Iter = 2697, 1 Free mem=351 No of tasks=31
- 6903 Task N39 current iteration: 1
- 6906 Task N39 finished and destroyed. Free mem=353 No of tasks=30
- 7000 MainLoop run: 71. Generated a new task: 40 Int, Iter = 2849, 4 Free mem=351 No of tasks=31
- 7003 Task N40 current iteration: 1
- 7076 Task N32 current iteration: 3
- 7081 Task N20 current iteration: 3
- 7100 MainLoop run: 72. Skipped generating a task
- 7118 Task N36 current iteration: 3
- 7148 Task N33 current iteration: 7
- 7200 MainLoop run: 73. Skipped generating a task
- 7266 Task N27 current iteration: 5
- 7275 Task N12 current iteration: 4
- 7300 MainLoop run: 74. Generated a new task: 41 Int, Iter = 4466, 4 Free mem=306 No of tasks=32
- 7303 Task N41 current iteration: 1
- 7343 Task N23 current iteration: 2
- 7400 MainLoop run: 75. Skipped generating a task
- 7422 Task N33 current iteration: 8
- 7422 Task N33 finished and destroyed. Free mem=308 No of tasks=31
- 7448 Task N34 current iteration: 3
- 7500 MainLoop run: 76. Generated a new task: 42 Int, Iter = 2133, 3 Free mem=306 No of tasks=32
- 7503 Task N42 current iteration: 1
- 7522 Task N17 current iteration: 2
- 7582 Task N28 current iteration: 5
- 7582 Task N28 finished and destroyed. Free mem=308 No of tasks=31
- 7600 MainLoop run: 77. Skipped generating a task
- 7700 MainLoop run: 78. Skipped generating a task
- 7716 Task N35 current iteration: 3
- 7726 Task N36 current iteration: 4
- 7726 Task N36 finished and destroyed. Free mem=353 No of tasks=30
- 7800 MainLoop run: 79. Generated a new task: 43 Int, Iter = 4113, 6 Free mem=351 No of tasks=31
- 7803 Task N43 current iteration: 1
- 7898 Task N11 current iteration: 3
- 7900 MainLoop run: 80. Skipped generating a task
- 7907 Task N27 current iteration: 6
- 7907 Task N27 finished and destroyed. Free mem=353 No of tasks=30
- 7913 Task N32 current iteration: 4
- 7913 Task N32 finished and destroyed. Free mem=398 No of tasks=29
- 7947 Task N9 current iteration: 4
- 8000 MainLoop run: 81. Skipped generating a task
- 8003 Task N19 current iteration: 3
- 8073 Task N22 current iteration: 4
- 8093 Task N30 current iteration: 2
- 8094 Task N13 current iteration: 5
- 8100 MainLoop run: 82. Skipped generating a task
- 8200 MainLoop run: 83. Generated a new task: 44 Int, Iter = 3389, 1 Free mem=396 No of tasks=30
- 8203 Task N44 current iteration: 1
- 8206 Task N44 finished and destroyed. Free mem=398 No of tasks=29
- 8300 MainLoop run: 84. Generated a new task: 45 Int, Iter = 3548, 10 Free mem=396 No of tasks=30
- 8303 Task N3 current iteration: 3
- 8306 Task N45 current iteration: 1
- 8371 Task N34 current iteration: 4
- 8400 MainLoop run: 85. Skipped generating a task
- 8422 Task N29 current iteration: 2
- 8485 Task N24 current iteration: 2
- 8485 Task N24 finished and destroyed. Free mem=398 No of tasks=29
- 8500 MainLoop run: 86. Generated a new task: 46 Int, Iter = 4962, 2 Free mem=396 No of tasks=30
- 8503 Task N46 current iteration: 1
- 8600 MainLoop run: 87. Skipped generating a task
- 8609 Task N38 current iteration: 2
- 8700 MainLoop run: 88. Skipped generating a task
- 8723 Task N35 current iteration: 4
- 8770 Task N20 current iteration: 4
- 8800 MainLoop run: 89. Skipped generating a task
- 8873 Task N18 current iteration: 3
- 8900 MainLoop run: 90. Skipped generating a task
- 8966 Task N12 current iteration: 5
- 9000 MainLoop run: 91. Skipped generating a task
- 9017 Task N21 current iteration: 3
- 9100 MainLoop run: 92. Skipped generating a task
- 9200 MainLoop run: 93. Skipped generating a task
- 9294 Task N34 current iteration: 5
- 9300 MainLoop run: 94. Skipped generating a task
- 9385 Task N26 current iteration: 2
- 9400 MainLoop run: 95. Generated a new task: 47 Int, Iter = 3556, 9 Free mem=351 No of tasks=31
- 9403 Task N47 current iteration: 1
- 9463 Task N22 current iteration: 5
- 9500 MainLoop run: 96. Generated a new task: 48 Int, Iter = 1226, 3 Free mem=306 No of tasks=32
- 9503 Task N48 current iteration: 1
- 9542 Task N13 current iteration: 6
- 9600 MainLoop run: 97. Generated a new task: 49 Int, Iter = 2850, 9 Free mem=261 No of tasks=33
- 9603 Task N49 current iteration: 1
- 9635 Task N42 current iteration: 2
- 9661 Task N31 current iteration: 2
- 9700 MainLoop run: 98. Skipped generating a task
- 9730 Task N35 current iteration: 5
- 9800 MainLoop run: 99. Generated a new task: 50 Int, Iter = 2782, 10 Free mem=216 No of tasks=34
- 9803 Task N50 current iteration: 1
- 9851 Task N40 current iteration: 2
- 9900 MainLoop run: 100. Skipped generating a task
- 9948 Task N5 current iteration: 3
- 9993 Task N15 current iteration: 3
- 10045 Task N37 current iteration: 2
- 10162 Task N9 current iteration: 5
- 10217 Task N34 current iteration: 6
- 10241 Task N14 current iteration: 3
- 10253 Task N19 current iteration: 4
- 10253 Task N19 finished and destroyed. Free mem=218 No of tasks=33
- 10459 Task N20 current iteration: 5
- 10516 Task N38 current iteration: 3
- 10657 Task N12 current iteration: 6
- 10657 Task N12 finished and destroyed. Free mem=263 No of tasks=32
- 10683 Task N23 current iteration: 3
- 10728 Task N48 current iteration: 2
- 10737 Task N35 current iteration: 6
- 10776 Task N6 current iteration: 3
- 10796 Task N11 current iteration: 4
- 10853 Task N22 current iteration: 6
- 10853 Task N22 finished and destroyed. Free mem=308 No of tasks=31
- 10990 Task N13 current iteration: 7
- 10990 Task N13 finished and destroyed. Free mem=353 No of tasks=30
- 11140 Task N34 current iteration: 7
- 11140 Task N34 finished and destroyed. Free mem=398 No of tasks=29
- 11184 Task N30 current iteration: 3
- 11624 Task N21 current iteration: 4
- 11744 Task N35 current iteration: 7
- 11758 Task N18 current iteration: 4
- 11768 Task N41 current iteration: 2
- 11768 Task N42 current iteration: 3
- 11769 Task N42 finished and destroyed. Free mem=443 No of tasks=28
- 11851 Task N45 current iteration: 2
- 11915 Task N43 current iteration: 2
- 11942 Task N29 current iteration: 3
- 11942 Task N29 finished and destroyed. Free mem=488 No of tasks=27
- 11954 Task N48 current iteration: 3
- 11954 Task N48 finished and destroyed. Free mem=533 No of tasks=26
- 12140 Task N17 current iteration: 3
- 12148 Task N20 current iteration: 6
- 12377 Task N9 current iteration: 6
- 12399 Task N3 current iteration: 4
- 12423 Task N38 current iteration: 4
- 12452 Task N49 current iteration: 2
- 12585 Task N50 current iteration: 2
- 12700 Task N40 current iteration: 3
- 12751 Task N35 current iteration: 8
- 12751 Task N35 finished and destroyed. Free mem=578 No of tasks=25
- 12958 Task N47 current iteration: 2
- 13464 Task N46 current iteration: 2
- 13464 Task N46 finished and destroyed. Free mem=623 No of tasks=24
- 13694 Task N11 current iteration: 5
- 13739 Task N15 current iteration: 4
- 13837 Task N20 current iteration: 7
- 13837 Task N20 finished and destroyed. Free mem=668 No of tasks=23
- 14020 Task N31 current iteration: 3
- 14023 Task N23 current iteration: 4
- 14088 Task N37 current iteration: 3
- 14088 Task N37 finished and destroyed. Free mem=713 No of tasks=22
- 14160 Task N14 current iteration: 4
- 14167 Task N26 current iteration: 3
- 14231 Task N21 current iteration: 5
- 14231 Task N21 finished and destroyed. Free mem=758 No of tasks=21
- 14275 Task N30 current iteration: 4
- 14330 Task N38 current iteration: 5
- 14571 Task N5 current iteration: 4
- 14592 Task N9 current iteration: 7
- 14592 Task N9 finished and destroyed. Free mem=803 No of tasks=20
- 14643 Task N18 current iteration: 5
- 15302 Task N49 current iteration: 3
- 15367 Task N50 current iteration: 3
- 15399 Task N45 current iteration: 3
- 15549 Task N40 current iteration: 4
- 15549 Task N40 finished and destroyed. Free mem=848 No of tasks=19
- 15763 Task N6 current iteration: 4
- 15763 Task N6 finished and destroyed. Free mem=893 No of tasks=18
- 16028 Task N43 current iteration: 3
- 16234 Task N41 current iteration: 3
- 16237 Task N38 current iteration: 6
- 16498 Task N3 current iteration: 5
- 16514 Task N47 current iteration: 3
- 16592 Task N11 current iteration: 6
- 16758 Task N17 current iteration: 4
- 17363 Task N23 current iteration: 5
- 17366 Task N30 current iteration: 5
- 17483 Task N15 current iteration: 5
- 17483 Task N15 finished and destroyed. Free mem=938 No of tasks=17
- 17528 Task N18 current iteration: 6
- 17528 Task N18 finished and destroyed. Free mem=983 No of tasks=16
- 18079 Task N14 current iteration: 5
- 18144 Task N38 current iteration: 7
- 18149 Task N50 current iteration: 4
- 18152 Task N49 current iteration: 4
- 18379 Task N31 current iteration: 4
- 18947 Task N45 current iteration: 4
- 18949 Task N26 current iteration: 4
- 19194 Task N5 current iteration: 5
- 19490 Task N11 current iteration: 7
- 20051 Task N38 current iteration: 8
- 20070 Task N47 current iteration: 4
- 20141 Task N43 current iteration: 4
- 20457 Task N30 current iteration: 6
- 20597 Task N3 current iteration: 6
- 20700 Task N41 current iteration: 4
- 20700 Task N41 finished and destroyed. Free mem=1028 No of tasks=15
- 20703 Task N23 current iteration: 6
- 20931 Task N50 current iteration: 5
- 21002 Task N49 current iteration: 5
- 21376 Task N17 current iteration: 5
- 21958 Task N38 current iteration: 9
- 21958 Task N38 finished and destroyed. Free mem=1073 No of tasks=14
- 21998 Task N14 current iteration: 6
- 22388 Task N11 current iteration: 8
- 22495 Task N45 current iteration: 5
- 22738 Task N31 current iteration: 5
- 23548 Task N30 current iteration: 7
- 23626 Task N47 current iteration: 5
- 23713 Task N50 current iteration: 6
- 23731 Task N26 current iteration: 5
- 23817 Task N5 current iteration: 6
- 23852 Task N49 current iteration: 6
- 24043 Task N23 current iteration: 7
- 24254 Task N43 current iteration: 5
- 24696 Task N3 current iteration: 7
- 25286 Task N11 current iteration: 9
- 25286 Task N11 finished and destroyed. Free mem=1118 No of tasks=13
- 25917 Task N14 current iteration: 7
- 25917 Task N14 finished and destroyed. Free mem=1163 No of tasks=12
- 25994 Task N17 current iteration: 6
- 26043 Task N45 current iteration: 6
- 26496 Task N50 current iteration: 7
- 26639 Task N30 current iteration: 8
- 26702 Task N49 current iteration: 7
- 27097 Task N31 current iteration: 6
- 27182 Task N47 current iteration: 6
- 27383 Task N23 current iteration: 8
- 27383 Task N23 finished and destroyed. Free mem=1208 No of tasks=11
- 28367 Task N43 current iteration: 6
- 28367 Task N43 finished and destroyed. Free mem=1253 No of tasks=10
- 28440 Task N5 current iteration: 7
- 28440 Task N5 finished and destroyed. Free mem=1298 No of tasks=9
- 28513 Task N26 current iteration: 6
- 28795 Task N3 current iteration: 8
- 29277 Task N50 current iteration: 8
- 29552 Task N49 current iteration: 8
- 29591 Task N45 current iteration: 7
- 29730 Task N30 current iteration: 9
- 29730 Task N30 finished and destroyed. Free mem=1343 No of tasks=8
- 30612 Task N17 current iteration: 7
- 30738 Task N47 current iteration: 7
- 31456 Task N31 current iteration: 7
- 32059 Task N50 current iteration: 9
- 32402 Task N49 current iteration: 9
- 32402 Task N49 finished and destroyed. Free mem=1388 No of tasks=7
- 32894 Task N3 current iteration: 9
- 32894 Task N3 finished and destroyed. Free mem=1433 No of tasks=6
- 33139 Task N45 current iteration: 8
- 33295 Task N26 current iteration: 7
- 34294 Task N47 current iteration: 8
- 34841 Task N50 current iteration: 10
- 34841 Task N50 finished and destroyed. Free mem=1478 No of tasks=5
- 35230 Task N17 current iteration: 8
- 35815 Task N31 current iteration: 8
- 36687 Task N45 current iteration: 9
- 37850 Task N47 current iteration: 9
- 37850 Task N47 finished and destroyed. Free mem=1523 No of tasks=4
- 38077 Task N26 current iteration: 8
- 39848 Task N17 current iteration: 9
- 40174 Task N31 current iteration: 9
- 40174 Task N31 finished and destroyed. Free mem=1568 No of tasks=3
- 40235 Task N45 current iteration: 10
- 40235 Task N45 finished and destroyed. Free mem=1613 No of tasks=2
- 42859 Task N26 current iteration: 9
- 44466 Task N17 current iteration: 10
- 44466 Task N17 finished and destroyed. Free mem=1658 No of tasks=1
- 47641 Task N26 current iteration: 10
- 47641 Task N26 finished and destroyed. Free mem=1703 No of tasks=0
- */
|