目录
- #include
- #include
- #include
-
- // 普通函数值传递
- void myFunc1(int i)
- {
- ++i;
- }
-
- // 普通函数引用传递
- void myFunc2(int& i)
- {
- ++i;
- }
-
- int main()
- {
- int num1 = 0;
- int num2 = 0;
- std::thread t1(myFunc1, num1);
- std::thread t2(myFunc2, std::ref(num2));
-
- if(t1.joinable())
- t1.join();
-
- if (t2.joinable())
- t2.join();
-
- std::cout << num1 << std::endl;
- std::cout << num2 << std::endl;
- return 0;
- }
-
- #include
- #include
- #include
-
- class A
- {
- public:
- // 类非静态函数值传递
- void myFunc1(int i)
- {
- ++i;
- }
-
- // 类非静态函数引用传递
- void myFunc2(int& i)
- {
- ++i;
- }
- };
-
- int main()
- {
- int num1 = 0;
- int num2 = 0;
- A a;
-
- // 类非静态成员函数需要传this指针
- std::thread t1(&A::myFunc1, &a, num1);
- std::thread t2(&A::myFunc2, &a, std::ref(num2));
-
- if(t1.joinable())
- t1.join();
-
- if (t2.joinable())
- t2.join();
-
- std::cout << num1 << std::endl;
- std::cout << num2 << std::endl;
- return 0;
- }