news 2026/5/26 13:50:20

面向对象线程基类设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
面向对象线程基类设计

编译:
g++ a.cpp -o tst -pthread

生成目标文件:

tst(可执行文件)

/** a.cpp 面向对象线程基类设计 **/ #include<iostream> #include<string> // #include<pthread.h> #include <thread> #include <unistd.h> using namespace std; class Method{ public: Method(){ // 参数:线程ID,属性(NULL默认),线程函数,传递的参数 pthread_create(&thread, NULL, run,this ); } static void* run(void* arg){ Method* method=(Method*)arg; method->darw(); return nullptr; } void join(){ pthread_join(thread, NULL); } virtual ~Method(){} private: virtual void darw()=0; pthread_t thread; // 线程ID;是返回值 }; class Mymethod:public Method{ public: Mymethod(){} virtual void darw() overried { //这里加不加virtual已经不重要了,因为基类是纯虚函数数 cout <<"Mymethod++++++"<<endl; } ~Mymethod(){} }; int main(int argc,char *argv[]){ cout<<"参数个数"<< argc<<endl; //cout<<"第一个参数:"<<argv[argc-2]<<endl; //cout<<"第二个参数:"<<argv[argc-1]<<endl; Mymethod* mymethod=new Mymethod{}; // mymethod->run(mymethod); //主进程调用run方法。 // mymethod->join(); //等待线程执行完成,并回收资源 sleep(1); //等待线程执行完成 delete mymethod; mymethod=nullptr; return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 13:45:06

让Windows 11重获新生:开源优化工具Win11Debloat完全指南

让Windows 11重获新生&#xff1a;开源优化工具Win11Debloat完全指南 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and…

作者头像 李华
网站建设 2026/5/26 13:44:12

Windows和Office激活终极指南:3分钟免费搞定系统激活的完整方案

Windows和Office激活终极指南&#xff1a;3分钟免费搞定系统激活的完整方案 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统激活弹窗而烦恼吗&#xff1f;Office试用期已过却找…

作者头像 李华
网站建设 2026/5/26 13:43:33

ROS2安装部署教程

ROS2系列文章目录 第一章 ROS2安装部署教程 目录 ROS2系列文章目录 前言 一、下载VMware虚拟机和Ubuntu24.04镜像文件 二、使用步骤 最后设置好账户信息就安装即可&#xff0c;等待最终完成&#xff0c;大约二十分钟-三十分钟。 等到安装完成后重启即可随后我们点击左下…

作者头像 李华