Socialabel

Saturday, October 12, 2013

Delay pada Qt: sleep, msleep, dan usleep

Dalam berbagai teknik pemrograman, peran dari sebuah delay sangat banyak dalam algoritma sekuensial ataupun paralel. Delay dalam artian menunda beberapa saat (satuan waktu) sebuah proses yang akan dilakukan oleh program komputer. 

Secara khusus penulis belum menemukan sebuah class pada Qt untuk memanggil metod delay, sehingga user perlu membuat class tersebut secara manual yang selanjutnya dapat disisipkan kedalam threat ataupun iterasi biasanya.

 #include <QtCore/QCoreApplication>  
 #include <QtDebug>  
 #include <QThread>  

 class SleepProses : public QThread
 {  
    Q_OBJECT  
    void run (){}  
    
    public :  
    static void usleep(long delay1)
    {  QThread::usleep(delay1); }  
    static void msleep(long delay1)
    {  QThread::msleep(delay1);  }      
    static void sleep(long delay1)
    {  QThread::sleep(delay1);  }  
 };  

 int main(int argc, char *argv[])  
 {  
    QCoreApplication a(argc, argv);  
    for(int i=0;i<10;i++)  
    {  
       qDebug()<<"Counter test ke-"<<i;  
       SleepProses::sleep(2);  
       //SleepProses::msleep(1);  
       //SleepProses::usleep(1);  
    }  
    return a.exec();  
 }  

No comments:

Post a Comment