Linux线程创建以及回调函数的使用
来源:互联网 发布:加密软件破译系统 编辑:程序博客网 时间:2024/06/15 11:37
这段时间要实现一下使用深度学习分类来辅助现有算法。主要就是在主程序有需求的时候调用深度学习方法,并保证程序不卡死。然后等深度学习算法处理完成,再返回处理结果。
下面贴出相关简化后的代码。记录一下。
CDLProcess.h
#include <iostream>#include "pthread.h"using namespace std;class IDLProcessCallBack{//回调类,这里自定义所有回调函数public:virtual void OnDLProcessCallBack() = 0;};class CDLProcess{public:CDLProcess();~CDLProcess();public:int Initial(IDLProcessCallBack *_DLCallBack);void Process();private:IDLProcessCallBack *m_DLCallBack;pthread_t m_threadID;};
CDLProcess.cpp
#include "CDLProcess.h"void *thread_DLProcess(void *arg){CDLProcess *pDLProcess = (CDLProcess*)arg;pDLProcess->Process();pthread_exit((void*)0);return 0;}CDLProcess::CDLProcess(){}CDLProcess::~CDLProcess(){}int CDLProcess::Initial(IDLProcessCallBack *_DLCallBack){m_DLCallBack = _DLCallBack;if (pthread_create(&m_threadID, NULL, thread_DLProcess, (void*)this) != 0){printf("create thread of DLProcess failed! \n");return -1;}}void CDLProcess::Process(){//自定义处理过程while (true){printf("111\n");}}
main.cpp
#include "CDLProcess.h"using namespace std;class CProcessCallBack : public IDLProcessCallBack{void OnDLProcessCallBack();};void CProcessCallBack::OnDLProcessCallBack(){printf("22222\n");}int main(){CDLProcess DLProcess;CProcessCallBack aaa;DLProcess.Initial(&aaa);system("pause");return 0;}
阅读全文
0 0
- Linux线程创建以及回调函数的使用
- libcur设置接收数据的回调函数以及回调函数的使用
- jquery序列化表单以及回调函数的使用
- linux下通过模板在创建线程时, 在回调函数中调用不同的类方法
- 遍历创建进程、创建线程、加载模块的回调函数
- 遍历创建进程、创建线程、加载模块的回调函数
- 遍历创建进程、创建线程、加载模块的回调函数
- 回调函数的使用
- 回调函数的使用
- 回调函数的使用
- 回调函数的使用
- 回调函数的使用
- 回调函数的使用
- 回调函数的使用
- 回调函数的使用
- 回调函数的使用
- 回调函数的使用
- 回调函数的使用
- PAT甲级 1022
- springboot入门3-操作redis
- Meanshift,聚类算法
- Python随记(二)字符串
- Python分割训练集和测试集
- Linux线程创建以及回调函数的使用
- log4j日志配置详解
- Shell传递参数~03
- Codeforces
- IIS Could not load type ‘System.ServiceModel.Activation.HttpModule’ from assembly ‘System.ServiceMo
- echart实现数据库取值绘制三种类型的图
- 浏览器缓存知识小结及应用
- ZOJ
- eclipse中查看jar包中的源码