2011-12-09 185 views
2

也許這是不正確的問題,但我想在一個畫面條款鏈接:的Windows線程(C運行時,並行線程,的std ::線程)

  • 的Windows多線程C運行時(例如_beginthreadex);
  • pthreads;
  • std :: thread;

請給我解釋:

  1. 這些庫是獨立於Windows或它們在相互分層?
  2. pthread是否在Windows上使用多線程C運行時?
  3. std :: thread在Windows上使用多線程C運行時嗎? Windows上的std :: thread實現是否包裝WinThreads?
+2

你看看std :: thread的源代碼嗎? –

+0

我現在在看,謝謝你的評論;)+1 – Edward83

+3

所有CRT和C++庫函數都是使用特定於OS的API實現的。對於Windows線程,這是CreateThread。 –

回答

5

作爲一個簡短的回答,std::thread是OS的線程API的更高層次的抽象。它在Windows上使用線程WinAPI,在Linux上使用pthreads