Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
#include "saie.h"
#include <QDebug>


Saie::Saie(QObject *parent) :
    QThread(parent)
{
    Testiarvo=0;
    runTimer.start();
    uiTimer.start();
    SaieStop=false;
    jaksoaika=1;
    ui_paivitysaika=10;
}

// tällä saadaan saie pysaytettya
void Saie::pysayta()
{
    SaieStop=true;
}

void Saie::AsetaTestiarvo(int arvo)
{
    //suojataan mutexilla sijoitus atomiseksi operaatioksi eli jos funktiossa on useimpia
    //rivejä suoritattavaa ohjelmaa ne kaikki toteutetaan ilman, että
    //toinen säie pääsisi väliin
    QMutexLocker locer(&mutex);
    Testiarvo=arvo;
}

void Saie::run()
{
    //tässä syntyy toinen säie
    int arvo;
    QString msg;
    forever
    {
        if (runTimer.elapsed() > jaksoaika)//talla maarataan saikeen paivitysvali
        {
            runTimer.restart();
            Testiarvo++;
            Testiarvo=Testiarvo+3;
            if(uiTimer.elapsed()>ui_paivitysaika)//talla maarataan kayttoliittyman paivitysvali
            {
                uiTimer.restart();
                emit  PaivitaUi(Testiarvo);
                msg.setNum(Testiarvo);
                qDebug()<< msg;//debug tuottaa informaatiota appöicationapplication output ikkunaan
            }
        }
        if(SaieStop==true){break;}
    }
    SaieStop=false;
}

...