#include "hthread.h" #include "htime.h" HTHREAD_ROUTINE(test_thread1) { int cnt = 10; while (cnt-- > 0) { printf("tid=%ld time=%llums\n", hv_gettid(), gettimeofday_ms()); hv_msleep(100); } return 0; } class TestThread2 : public HThread { protected: virtual void run() { int cnt = 10; while (cnt-- > 0) { printf("tid=%ld time=%llums\n", hv_gettid(), gettimeofday_ms()); hv_msleep(100); } } }; class TestThread3 : public HThread { protected: virtual bool doPrepare() { printf("doPrepare\n"); return true; } virtual void doTask() { printf("tid=%ld time=%llums\n", hv_gettid(), gettimeofday_ms()); } virtual bool doFinish() { printf("doFinish\n"); return true; } }; int main() { printf("c-style hthread_create\n"); hthread_t thread1 = hthread_create(test_thread1, NULL); hthread_join(thread1); printf("cpp-style override HThread::run\n"); TestThread2 thread2; thread2.start(); thread2.stop(); printf("cpp-style override HThread::doTask\n"); TestThread3 thread3; thread3.setSleepPolicy(HThread::SLEEP_UNTIL, 100); thread3.start(); hv_sleep(1); thread3.stop(); return 0; }