bfiber_0200
Boost.Fiber Namespace this_fiber
Namespace this_fiber
일반적으로 this_fiber 작업은 "main" 파이버(main() 함수가 입력되는 파이버)뿐만 아니라 명시적으로 시작된 스레드의 스레드 함수에서도 호출될 수 있습니다. 즉, 여러 측면에서 각 스레드의 기본 파이버는 명시적으로 실행된 파이버처럼 처리될 수 있습니다.
Non-member function this_fiber::get_id()
- Returns: 현재 실행 중인 Fiber를 나타내는 fiber::id의 인스턴스입니다.
- Throws: Nothing.
Non-member function this_fiber::sleep_until()
- Effects: 'abs_time'에 지정된 시점에 도달할 때까지 현재 파이버를 일시 중단합니다.
- Throws: 시간 초과 관련 예외. timeout-related exceptions.
- Note 1: 현재 파이버는 abs_time 이전에는 재개되지 않지만, abs_time 이후 얼마나 빨리 재개될지는 보장할 수 없습니다.
- Note 2: "timeout-related exceptions 시간 초과 관련 예외"는 C++ 표준 섹션 30.2.4 타이밍 사양 [thread.req.timing]에 정의되어 있습니다. "시간 초과를 지정하는 인수를 취하는 함수는 실행 중에 시계가 다음과 같은 경우 발생합니다. 시점 또는 기간에서 예외가 발생합니다. 이러한 예외를 시간 초과 관련 예외라고 합니다.”
Non-member function this_fiber::sleep_for()
- Effects: 'rel_time'에 지정된 시간이 경과할 때까지 현재 파이버를 일시 중단합니다.
- Throws: timeout-related exceptions.
- Note: 현재 파이버는 'rel_time'이 경과하기 전에는 재개되지 않지만, 그 후 얼마나 빨리 재개될지는 보장할 수 없습니다.
Non-member function this_fiber::yield()
- Effects: 실행 제어를 포기하고 다른 파이버를 실행할 수 있도록 양보합니다.
- Throws: Nothing
- Note: yield()를 호출하는 파이버는 일시 중단되지 않습니다. 실행 준비가 완료되면 즉시 스케줄러에 전달됩니다.
Non-member function this_fiber::properties()
- Preconditions: use_scheduling_algorithm()은 동일한 템플릿 인수 'PROPS'를 사용하는 algorithm_with_properties<>의 하위 클래스를 사용하여 이 스레드에서 호출되었습니다.
- Returns: 현재 실행 중인 파이버에 대한 스케줄러 속성 인스턴스에 대한 참조입니다.
- Throws: std::bad_cast use_scheduling_algorithm()이 PROPS가 아닌 다른 템플릿 매개변수와 함께 algorithm_with_properties 하위 클래스로 호출된 경우.
- Note 1: algorithm_with_properties<>는 사용자 코딩 스케줄러가 우선 순위와 같은 확장 속성을 Fiber 인스턴스와 연결하는 방법을 제공합니다. 이 기능을 사용하면 사용자가 제공한 속성에 액세스할 수 있습니다.
- Note 2: 이 함수가 스레드의 기본 파이버에서 처음 호출되면 내부적으로 양보하여 다른 파이버가 실행되도록 허용할 수 있습니다.
- See also: Customization
Email
답글이 올라오면 이메일로 알려드리겠습니다.