#include
// 加入標頭檔案
#include
using
namespace std;
intmain
(int argc,
char
**ar**)
}
輸出如下
hello, i am thread 1進一步,我們進行for迴圈,這裡要求資料間不存在依賴關係,否則不同執行緒中計算會導致錯誤,我們將main中**替換如下hello, i am thread 2
hello, i am thread 0
hello, i am thread 3
omp_set_num_threads(4
);#pragma omp parallel for
for(
int i =
0; i <5;
++i)
std::cout << i <<
" i am thread: "
<<
omp_get_thread_num()
<< std::endl;
輸出
0 i am thread: 03 i am thread: 22 i am thread: 1
4 i am thread: 3
1 i am thread: 0
omp_set_num_threads(4
);#pragma omp parallel for
for(
int i =
0; i <5;
++i)
i = 0, i am thread: 0可以看到執行緒0(也就是主線程)執行迴圈中0 , 1;執行緒2執行 2 ;執行緒1執行 1 ;執行緒3執行 4;這樣整個迴圈就被拆分成四個並行,從理論上講,速度相較原來提公升四倍!i = 1, i am thread: 0
i = 2, i am thread: 2
i = 3, i am thread: 1
i = 4, i am thread: 3
#pragma omp parallel
也得到了上述結果。
今天先玩這麼多,後續再看看多執行緒間資料怎麼傳遞,類似於gpu中並行。
未完待續。。。。。
渡盡劫波兄弟在,相逢一笑泯恩仇。—魯迅
VS2017中新增QWebEngineView模組
開發環境 qt 5.9.0 vs2017 vs2017 在生成新的工程時,會預設帶了一些模組。如果新增新的模組如何操作呢?目前就新增 qwebengineview 模組為例。在生成新的工程時預設帶的模組,裡面沒有qwebenginewidget模組,所以需要自己手動配置 圖一 第一步 中新增 qwe...
在windows上vs2017 編譯webrtc
指定vs版本 set gyp msvs override path c program files x86 microsoft visual studio 2017 professional vs安裝路徑,替換成自己的 set gyp generators msvs ninja,ninjamkdir...
VS2017中加入彙編
專案需要,需要在vs2017中加入彙編 讓c c 可以呼叫彙編 根據作業系統選擇包,解壓後有四個檔案vsyasm.exe,vsyasm.props,vsyasm.targets,vsyasm.xml 2.在vs2017工程中新增原始碼,加入asm檔案 3.選中專案,右鍵,生成依賴項 生成自定義 選擇...