#include <iostream>
#include <asio.hpp>
#include <memory>
#include <vector>
#include <thread>
asio::io_service io_svc;
int a = 0;
void WorkerThread(){
std::cout << ++a << ".\n";
io_svc.run();
std::cout << "End.\n";
}
int main(void)
{
std::shared_ptr<asio::io_service::work> worker(new asio::io_service::work(io_svc));
std::vector<std::thread> threadGroup;
for(int i = 0; i < 5; ++i)
{
threadGroup.emplace_back(&WorkerThread);
}
std::cin.get();
io_svc.stop();
std::for_each(threadGroup.begin(), threadGroup.end(), [&threadGroup](std::thread& thread){ thread. join();});
system("pause");
return 0;
}
------ 이하 설명 -----
'C.C++ > 코드' 카테고리의 다른 글
thread_group (1) | 2018.04.24 |
---|---|
asio 타이머 핸들링 예제 (2) | 2018.04.17 |
예외처리가 안되었을 경우에 terminate 에서 abort 말고 커스텀 함수 호출하는 법 (0) | 2017.12.10 |
에러값 리턴 (0) | 2017.05.23 |
assertion (0) | 2017.05.18 |
댓글