thread로 돌려야할 함수가 있어서 검색해봤다.
C++11 (VS 2012)부터는 std::thread가 있길래, VS2012로 갈아탔다..
좋은게 좋은거라고ㅋㅋ
그리고 사용 법을 검색해보니 간단하다.
아래 링크에서 잘 설명해준다. 동영상 강의다.
https://www.youtube.com/watch?v=o0pCft99K74&list=PL1835A90FC78FF8BE&index=4
난 thread해서 join할 필요 없이 async를 사용하면 될것 같다.
#include <thread> #include <iostream> #include <functional> #include <string> #include <future> std::string func() { for(int i=0; i< 20; i++) { std::cout<<"numbering from func() "<< i << std::endl; _sleep(200); } std::string strRet = "yes"; return strRet; } int main() { auto ftr = std::async(&func); //future를 include해야 std::async 사용 가능. //type을 auto로 알아서 받겠다는 뜻. //async를 쓰면 비록 불린 함수가 끝나지 않아도 main을 끝내는데 문제 없음 for(int i=0; i< 3; i++) { std::cout<<"NUMBERING FROM MAIN "<< i << std::endl; _sleep(300); } std::string str = ftr.get(); //return 값을 받으려고 여기서 대기 하게됨. 끝났는지 중요하지 않을 때는 그냥 // ftr.get()을 없애면 바로 main이 종료됨. std::cout<<"completed strRet :"<<str<<std::endl; //std::cout<<"completed XXXX"<<std::endl; getchar(); } |
'공부하며놀자 > 프로그래밍' 카테고리의 다른 글
[Python][PySerial] ModuleNotFoundError : No module name 'serial' issue solve 문제 해결 (0) | 2018.08.30 |
---|---|
[프로그래밍][c/c++] Copy CString to clipboard. CString 클립보드에 붙여넣기 (0) | 2016.09.13 |
[프로그래밍][c++] printf string format %*.*s (0) | 2016.08.11 |
C++ - clear empty delete std::ostringstream, stringstream (0) | 2015.11.25 |
std::string to const char * (0) | 2015.11.20 |
댓글