1.头文件 #include <pthread.h>
2.新建线程pthread_create(&threadId, NULL, checkData, (void *)(&m_threadArgs));
threadId 类型pthread_t
checkData是该线程调用的函数指针,如果定义了类。checkData一定要放到类外定义 void *checkData(void* args)
注意这个 args参数的类型 在checkData里面必须为void * 类型,函数内部再做强制类型转换
m_threadArgs 是自定义的一个参数结构体,因为只能传递一个参数给checkData,所以用结构体封装。通常会把类的this指针也封装在里面
为了避免编译错误,需要在该线程类前面 声明该类。
3.等待线程结束 pthread_join(threadId, NULL);4.锁
新建锁 pthread_mutex_t number_mutex
删除锁 pthread_mutex_destroy(&number_mutex)
加锁 pthread_mutex_lock(&number_mutex)
释放锁 pthread_mutex_unlock(&number_mutex)
5.时间判断 #include<ctime>
1 bool ifTimeOK()2 {3 time_t timer = time(NULL);4 struct tm *local = localtime(&timer);5 if (int(local->tm_hour) == 17) 6 return true;7 return false;8 }