cost 298 ms
'MT_StaticRelease' 不匹配 'MD_DynamicRelease' 使用 cmake vcpkg

[英]'MT_StaticRelease' not match 'MD_DynamicRelease' using cmake vcpkg

我在 Windows 10 上遇到了 Cmake 的問題。我正在使用帶有 vcpkg 的 cmake 來構建一個鏈接到 Boost 線程的應用程序(實際上,我在 Ubuntu 上開發了它,我現在正在嘗試為 Windows 構建它。) 我收到的問題是: boost_thread-vc140- ...

我的 boost::asio::thread_pool 中的線程 ID 始終相同

[英]Thread-ID is always the same in my boost::asio::thread_pool

我嘗試了boost 文檔中的示例: 輸出是: 為什么始終顯示相同的線程 ID? 我做錯了什么嗎? 它仍然並行執行我的任務。 所以,我不太擔心。 當我嘗試使用boost::thread_group的類似示例時,我看到了相同的行為。 ...

將僅移動 function arguments 傳遞給 boost::thread 構造函數

[英]Passing move-only function arguments to boost::thread constructor

以下適用於std::thread 。 它將 10 打印為 output,這是我想要的。 但是,使用 Boost 1.72 的類似嘗試無法編譯 我覺得這很令人驚訝,因為 boost::thread 的文檔說明了以下內容: 帶有 arguments 模板的線程構造函數 <class F,class ...

如何使用 C++(在 Visual Studio 2019 中)中的 boost 庫創建 3 個並行執行線程?

[英]How to create 3 threads of parallel execution using boost library in C++ (in Visual Studio 2019)?

我正在嘗試使用 boost 庫在 Visual Studio 2019 上創建 3 個執行線程。這 3 個線程函數每個都有一個 while(1) 循環,以保持連續執行。 但是,當我執行程序時,我看到只執行了第一個線程(並且命中了一個斷點)。 所以我知道第一個線程正在被創建,並且執行仍然在第一個函數 ...

static 分析工具警告析構函數中的 boost thread::join()

[英]boost thread::join() in a destructor is warned by a static analysis tool

在析構函數中加入線程對我來說效果很好,但 static 分析 (Coverity) 警告它。 這是我的線程池代碼。 實際上它工作得很好,但是 SPA 工具會警告 function 'join()' 可能存在異常,因為它可能會拋出 'thread_resource_error' 並且析構函數不能接受 ...

與 condition_variable 死鎖

[英]dead-lock with condition_variable

嘗試從線程通知condition_variable時遇到死鎖。 這是我的 MCVE: 如果使用m_cond.wait( lock ); ,我看到DONE!!! 為每一次嘗試而寫,這里沒問題。 如果我使用while (.m_cond,timed_wait(lock:boost::posix_time ...

boost::thread 與 std::thread 與 pthread

[英]boost::thread vs std::thread vs pthread

b/w boost::thread 、 std::thread (C++11) 和pthread對於高 CPU 吞吐量(讀取:大量浮點運算)基於 Linux 的應用程序的權衡是什么? 什么時候應該使用一種實現而不是其他實現? 這里的用例是在連續內存的緩沖區(或指向緩沖區的指針)上調用例程,做一些 ...

使用 boost::asio 的程序崩潰

[英]program crash using boost::asio

我正在嘗試使用 asio 下載文件。 該程序是多線程的,系統是 ubuntu 和 gcc 7.5 在以下 function 中: 當服務器出現故障並發送文件結束時,運行 function 的線程終止。 線程不應終止,因為我將根據變量在無限循環中重新連接並重做所有工作: 這是錯誤消息: 我應該怎么做才 ...

asio 使用_future 而不是 yield[ec]

[英]asio use_future instead of yield[ec]

我想制作期貨容器,每個未來都是任務的無效結果,以便我可以在容器上使用wait_for_any,每個任務都是我目前使用yield_context實現的協程,並且在這個協程內部啟動function,它返回ec和結果我使用 ec 分析結果。然后調用另一個協程傳遞相同的 yield_context。 我想 ...

boost::thread 不更新全局變量

[英]boost::thread not updating global variable

我在外部軟件中使用包裝函數來啟動一個新線程,該線程更新全局變量,但這似乎對主線程不可見。 我不能調用 join(),而不是阻塞主線程並使軟件崩潰。 boost::async、boost::thread 和 boost::packaged_task 的行為方式都相同。 當我調用函數時: 有任 ...

將 shared_lock 升級為獨特的鎖使用、時序和設計

[英]Upgrade shared_lock to unique lock usage, timing and design

我正在更新以前使用自己的讀寫鎖機制的代碼(此代碼是在 C++11 之前編寫的,並且 std::shared_mutex 尚不存在)以使用 C++ 的 std 版本。 有 ReadLock 和 WriteLock 兩個類,可以通過調用方法將 ReadLock 升級為 WriteLock。 Writ ...

boost::asio 和 boost::thread_group,其中每個線程都有自己的 libpqxx 連接

[英]boost::asio and boost::thread_group where each thread has it's own libpqxx connection

我正在嘗試結合 boost::Asio、boost::thread_group,其中每個線程都有自己的 libpqxx(Prostgres) 連接到數據庫。 我似乎無法找到任何 asio/thread_group 示例,其中運行任務的線程具有特定於連接的信息。 Asio 似乎專門處理包含運行它所需 ...

Valgrind 錯誤與 boost::thread_specific_ptr 在 GCC 8.3 + Linux

[英]Valgrind errors with boost::thread_specific_ptr on GCC 8.3 + Linux

Ubuntu 19 內部運行 Docker GCC 8.3 提升 1.69 瓦爾格林 3.14.0 當應用程序關閉時,Valgrind 會報告以下 3 個問題: 看起來 boost 正在將其線程數據分配在 dlerror 分配其自己的線程數據的同一位置。 快速搜索指向(略有不同?)版本的 d ...

如何使用 boost.thread 運行多個接收器,每個線程應該為每個接收器分配?

[英]How to run multiple receiver using boost.thread each thread should be allocated for each receiver?

我已經更新了整個程序。 此代碼工作正常,但無法將線程代碼放入循環中。 我能夠手動創建多個接收器(線程),但未能使用循環創建多個線程。 我已經更新了整個程序。 此代碼工作正常,但無法將線程代碼放入循環中。 我能夠手動創建多個接收器(線程),但未能使用循環創建多個線程。 ...

使用boost將單線程轉換為多線程

[英]Using boost to turn single thread to multi thread

我正在嘗試將代碼從單線程轉換為多線程(例如,創建6個線程而不是1個線程),同時確保它們全部開始和結束而不會互相干擾。 有什么方法可以做到這一點? 我可以做一個for循環來創建線程,直到我<6嗎? 只需添加帶有lock()和unlock()的互斥鎖類? ...

是什么讓boost :: shared_mutex如此緩慢

[英]What makes the boost::shared_mutex so slow

我使用谷歌基准測試運行以下3個測試,結果讓我感到驚訝,因為RW鎖定比釋放模式下的簡單互斥鎖慢約4倍。 (在調試模式下比簡單的互斥鎖慢~10倍) 結果是: 我沒有通過谷歌獲得足夠的信息,所以希望在這里有所幫助。 謝謝 ...

對boost :: asio :: io_context :: run()和boost :: thread :: join()感到困惑

[英]Confused on boost::asio::io_context::run() and boost::thread::join()

就像boost文檔在這里指出的那樣,boost :: asio :: io_context :: run()函數將阻塞,直到所有工作都完成並且不再有要分派的處理程序,或者直到io_context被停止為止。 現在,我感到困惑的是,為什么直到所有處理程序完成工作后,我的代碼才在另一處理程序分 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM