Taskit eli oikeammin suomeksi säikeet ovat rinnakkaisia, yhtäaikaisesti toimivia ohjelman osia. Seuraavassa on yksinkertainen esimerkki säikeiden toteutuksesta.
{code}
#pragma config(Sensor, S2, touchSensor, sensorTouch)
task TOne()
{
while(true)
{
wait1Msec(300); // pieni odottelu
nxtDisplayCenteredBigTextLine(3, "TASK 1"); // näytetään että eka taski on käynnissä
nxtDisplayClearTextLine(6);
nxtDisplayClearTextLine(7);
}
return;
}
task TTwo()
{
while(true)
{
wait1Msec(300); // Allow for a short wait, freeing up the CPU for other tasks.
while(SensorValue(touchSensor) == 1) //ollaan niin kauan silmukassa kunnes kosketusanturi menee tilaan yksi
{
StopTask(TOne); // pysäyteään eka taski
nxtDisplayCenteredBigTextLine(6, "TASK 2"); // näytetään, että toinen taski on käytössä
nxtDisplayClearTextLine(3); //putsataan rivi kolme
nxtDisplayClearTextLine(4); //putsataan rivi neljä
wait1Msec(100);
}
StartTask(TOne);
}
return;
}
task main()
{
StartTask(TOne); // Käynnistetään ensimmäinen säie
StartTask(TTwo); // Käynnistetään toinen säie
while(true)
{
wait1Msec(300); // odotellaan ja annetaan aikaa muille säikeille
nxtDisplayCenteredBigTextLine(0, "TASK M");
}
return;
}
{code} |