博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux多线程
阅读量:5080 次
发布时间:2019-06-12

本文共 823 字,大约阅读时间需要 2 分钟。

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 }

转载于:https://www.cnblogs.com/2010Freeze/articles/2653986.html

你可能感兴趣的文章
不知道做什么时
查看>>
matlab 给某一列乘上一个系数
查看>>
密码学笔记——培根密码
查看>>
Screening technology proved cost effective deal
查看>>
MAC 上升级python为最新版本
查看>>
创业老板不能犯的十种错误
查看>>
Animations介绍及实例
查看>>
判断请求是否为ajax请求
查看>>
【POJ2699】The Maximum Number of Strong Kings(网络流)
查看>>
spring boot配置跨域
查看>>
BZOJ 1996 合唱队(DP)
查看>>
进击吧!阶乘——大数乘法
查看>>
安卓学习资料推荐-25
查看>>
Mysql数据库备份和还原常用的命令
查看>>
关于退出当前页面在火狐的一些问题
查看>>
【项目实施】项目考核标准
查看>>
spring-aop AnnotationAwareAspectJAutoProxyCreator类
查看>>
经典入门_排序
查看>>
Redis Cluster高可用集群在线迁移操作记录【转】
查看>>
二、spring中装配bean
查看>>