stdthread

    3熱度

    3回答

    基本上我想要做的是寫一個for循環,產生多個線程。線程必須多次調用某個函數。換句話說,我需要每個線程在不同的對象上調用相同的函數。我如何使用std :: thread C++庫來做到這一點?

    2熱度

    3回答

    我用std :: thread和C++ 11試驗了一下,我遇到了奇怪的行爲。 請看看下面的代碼: #include <cstdlib> #include <thread> #include <vector> #include <iostream> void thread_sum_up(const size_t n, size_t& count) { size_t i;

    1熱度

    1回答

    我使用線程爲了在OpenGL應用程序中爲用戶提供一個shell。 我的問題是,我不能取消線程在我的主循環結束,因爲std ::線程不提供取消方法,我的線程被阻止與std::cin >> var調用,所以我不能使用布爾值來存儲線程應該停止的事實。 我想知道在線程(std :: thread)或其他解決方案中使用std :: cin是否有很好的方法。

    6熱度

    3回答

    我想設置一個函數(或lambda函數)的調用,噹噹前線程退出時自動發生,但我看不到任何方式來做它與std::thread一起工作,除非我接管線程創建的全部任務,或者手動確保每個線程都調用一些我始終提供的作爲其最後操作的特定功能。 從本質上講,我想函數,其原型可能類似於這樣的事情: on_thread_exit(const std::function<void()> &func); 這將執行任何

    27熱度

    2回答

    嗯,我有一個使用std :: thread將數據傳遞到線程的問題。我認爲我理解了拷貝構造函數等的一般語義,但似乎我並不十分把握這個問題。我有一個名爲日誌簡單的類,隱藏了它的拷貝構造函數正是如此: class Log { public: Log(const char filename[], const bool outputToConsole = false); virtua

    1熱度

    1回答

    我很少想到在兩個連續的表達式之間,函數調用和它的主體的第一個表達式的執行之間,或者在構造函數的調用和它的執行之間發生了什麼初始化。然後,我開始閱讀關於併發... 1)在連續兩次調用std::thread的構造用相同的可調用(如函數,仿函數,拉姆達),其身體開始有std::lock_guard初始化與同std::mutex對象,標準是否保證第一個thread構造函數調用對應的線程首先執行受鎖定保護的

    1熱度

    3回答

    我正在做一個大學項目,我將不同的多線程方法應用於模式匹配算法(pthread,omp),並將它們與它們各自的順序實現進行比較。 在它運作良好的時刻,並根據算法和gcc的優化,我用的約2倍得到縮短運行時間 - 3 現在,我想使用std做到這一點: :然而,從我設法收集的線程來看,它們是在Linux上使用Pthreads實現的,所以我想知道這是否有任何意義。

    7熱度

    3回答

    如何在C++中使用字符串std::thread::id?我試圖將std::this_thread::get_id()生成的輸出轉換爲字符串或char數組。

    -1熱度

    1回答

    static T MultiplyElement(const Matrix& matrixA, const Matrix& matrixB, unsigned M2col, unsigned M1row) { T sumToReturn = 0; for (unsigned iM1colM2row = 0; iM1colM2row < matrixA.m_n; i

    2熱度

    2回答

    我有一個名爲任務內部擁有成員std ::線程的類。總體思路是創建一個線程,隨着處理請求的到來而保持活動狀態。 class Task { public: Task(); ~Task(); void start(); // some funny stuff here protected: Task(const Task& ref);