Hello,
I tried the example from the exercise. I dint change anything which means I didnt activate timeslicing yet and I already get the output:
Hello, I am thread0
Hello, I am thread1
Hello, I am thread0
Hello, I am thread1
Hello, I am thread0
Doesnt fit to the explanation. thread1 should starve since thread0 is running first and does not yield or sleep. I tested it with nrf54l15dk and nrf52840dk. Both the same behaviour. Toolchain and SDK is v3.1.1.
Already with exersice 1 from this lesson there were a similar behaviour, but since there was no delay in the output, I thought it was a uart timing problem.
Activating the timeslicing I have the same behaviour:
Hello, I am thread0
Hello, I am thread1
Hello, I am thread0
Hello, I am thread1
Hello, I am thread0
After changing the priority thread1 is starving like expected:
Hello, I am thread0
Hello, I am thread0
Hello, I am thread0
Hello, I am thread0
Hello, I am thread0