📄 mythread.cpp
字号:
#include "mythread.h"#include <unistd.h> #include <pthread.h> #include <time.h> MyThread::MyThread(void){ m_bQuit = false; pthread_cond_init(&m_exit, NULL); pthread_mutex_init(&m_mutex, NULL); start();}MyThread::~MyThread(void){}void MyThread::stop(void){ m_bQuit = true; pthread_cond_broadcast(&m_exit); pthread_join(m_id, NULL); pthread_cond_destroy(&m_exit); pthread_mutex_destroy(&m_mutex);}void MyThread::run(void){ int ret = 0; int i = 0; timespec waitTime; // waitTime.tv_sec = time(NULL) + 1; //Wait for 1 second// waitTime.tv_nsec = 500000; /* 500,000 nanoseconds = 500 ms */ while(1) { i++; waitTime.tv_sec = time(NULL) + 1; //Wait for 1 second waitTime.tv_nsec = 500000; /* 500,000 nanoseconds = 500 ms */ cout<<"==========================="<<endl; pthread_mutex_lock(&m_mutex); ret = pthread_cond_timedwait(&m_exit, &m_mutex, (const struct timespec*)&waitTime); // pthread_cond_wait(&m_exit, &m_mutex); pthread_mutex_unlock(&m_mutex); if(ret !=0 ) { /* Handle timeout */ cout<<"timeout..."<<ret<<"......\n"; } else if(ret == 0) { cout<<"..........event.......\n"; /* condition received a condition signal */ break; } } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -