lambda 表達式在 C 多執行緒程式設計中的優點包括:簡潔性、靈活性、易於傳參和並行性。實戰案例:使用 lambda 表達式建立多執行緒,在不同執行緒中列印線程 ID,展示了該方法的簡潔和易用性。
用C lambda 表達式實作多執行緒程式設計的優勢
引言
#lambda 表達式是C 11 中引入的一項強大功能,它可以表示區塊內函數物件。在多執行緒程式設計中,lambda 表達式提供了簡潔而強大的方式來定義平行任務。
優勢實戰案例
以下範例展示如何使用lambda 表達式在C 中建立多執行緒程式:#include <iostream> #include <thread> #include <vector> int main() { // 创建一个 vector 来存储线程 std::vector<std::thread> threads; // 使用 lambda 表达式定义并行任务 auto task = [](const int &n) { std::cout << "Thread " << n << " is running." << std::endl; }; // 创建并启动线程 for (int i = 0; i < 10; i++) { threads.emplace_back(std::thread(task, i)); } // 等待线程完成 for (auto &thread : threads) { thread.join(); } return 0; }運行結果:
Thread 0 is running. Thread 1 is running. Thread 2 is running. ... Thread 9 is running.在這個範例中,lambda 表達式用於定義了一個平行任務,該任務列印執行緒的ID。該程式創建了 10 個線程,並使用 lambda 表達式並行執行這些任務。使用 lambda 表達式,我們編寫了簡潔且易懂的多執行緒程式碼。 ###
以上是用 C++ lambda 表達式實作多執行緒程式設計的優點是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!