NashZhou

广告算法工程师,目前致力于关键词广告的效果自动优化

linux多线程

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 }

posted on 2012-08-24 12:27  NashZhou  阅读(165)  评论(0编辑  收藏  举报

导航