Cpp 11 / 线程库 / 可以做为线程的执行对象有哪些?
生活随笔
收集整理的這篇文章主要介紹了
Cpp 11 / 线程库 / 可以做为线程的执行对象有哪些?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
答案
普通函數、仿函數、lambda 表達式
栗子
#include <iostream> #include <thread>class CTest { public:// 仿函數。void operator()(){std::cout << " () " << std::endl;return;} }; // 普通函數。 void func() {std::cout << " func " << std::endl;return; }int main() {CTest test;std::thread thread_1(func);std::thread thread_2(test);// lambda 表達式。auto other = []{std::cout << " other " << std::endl;return;};std::thread thread_3(other);thread_1.join();thread_2.join();thread_3.join();return 0; }結果(不一定)
func ()other?
(SAW:Game Over!)
總結
以上是生活随笔為你收集整理的Cpp 11 / 线程库 / 可以做为线程的执行对象有哪些?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OS / Linux / pthread
- 下一篇: json / 简介及结构