boost::thread 다중 스레드
thread 라이브러리는chrono 라이브러리에 의존합니다.chrono 라이브러리는 C++11에 새로 추가된 편리한 날짜 시간 조작을 위한 표준 라이브러리입니다.thread 라이브러리는 chrono 라이브러리에서 제공하는 시간 개념으로 수면, 대기 작업을 수행해야 하기 때문에thread 라이브러리를 컴파일하려면 먼저 chrono 라이브러리를 컴파일해야 합니다.thread는 헤더 파일에 포함된 이름공간 boost에 있습니다.
#define BOOST_THREAD_BERSION 4 //
#include
using namespace boost;
C++ 표준 이외에thread 라이브러리는 대량의 확장 기능을 제공하지만 호환성을 고려하여 이러한 기능은 다른 헤더 파일에 포함됩니다.
#include
#include
#include
#include
#include
#include
2.A simple example
#include
#include
void hello()
{
std::cout<
이 예에서main 함수는 하나의 라인입니다. 새 라인은 "Hello multi-thread!"를 출력하는 데 사용됩니다.boost::thread::join () 을 동시에 호출해서 라인이 끝날 때까지 기다립니다.
3. 상호 배척체
다중 루틴 프로그램은 서로 다른 루틴이 공유 구역에 동시에 접근하는 것을 피해야 한다.여러 라인의 다중 공유 영역이 동시에 접근하는 것을 피하기 위해 호환체 (mutex,mutual extension의 줄임말) 가 생겼습니다. 호환체는 한 라인만 공유 영역에 접근할 수 있습니다.한 라인이 공유 구역에 접근하려고 할 때, 우선 (lock) 호환체를 잠가야 한다. 호환체가 잠기면 다른 라인이 공유 구역에 다시 접근하려고 할 때, 현재 라인이 끝날 때까지 기다렸다가 호환체를 잠그는 수밖에 없다.
#include
#include
#include
#include
boost::mutex io_mutex;
void count(int id)
{
for(int i = 0;i < 10; i++)
{
boost::mutex::scoped_lock lock(io_mutex);
std::cout<
boost::bind () 를 어떻게 사용하는지 모르겠습니다. 제 글을 참고하십시오. boost::bind 함수 귀속기 한 문입니다.
다선정의 내용이 너무 많으니 내가 천천히 쓸 때까지 기다려라.미완성 미속.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.