登陆 注册

C++如何调用class类中方法实现多线程编程

M4st 2018-07-19 C++

众所周知在使用C++创建多线程执行时只能传递一个方法到thread模块中去创建线程执行。但是有时候我们往往需要使用多线程去执行某个对象中的方法,而对象中的方法却无法直接加载到thread模块中,本文通过两种调用方式实现多线程thread如何调用C++类中的方法。

头文件 stdafx.h

#pragma once  #include<iostream>  #include<string>  #include <thread>  #include <Windows.h>

源文件 thread.cpp

#include "stdafx.h"  using namespace std;     void* task2();     class Task  {      public:          static void* task1()          {              printf("aa");              Sleep(1000);              printf("cc");              return 0;          }          friend void* task2()          {              printf("bb");              return 0;          }         public:          int a = 1;  };     int main()  {      thread thread1(&Task::task1);      thread thread2(task2);      thread1.join();      thread2.join();         for (int i = 0; i < 5; i++)      {          cout << "Main thread is working !" << endl;      }      system("pause");     }


生成海报
请发表您的评论
请关注微信公众号
微信二维码
不容错过
Powered By SangYun.Net