API 개요
Source
class ContextAwareThread
호출자의 컨텍스트를 사용하여 함수를 실행하는 Thread입니다.
이 클래스는 threading.Thread를 대체하여 사용할 수 있으며, thread 내부에서 호출이 예상대로 작동하도록 보장합니다. Weave 는 특정 contextvars가 설정되어 있어야 하지만(call_context.py 참조), 새 thread는 부모의 컨텍스트를 자동으로 복사하지 않으므로 호출 컨텍스트가 손실될 수 있습니다. 이 클래스는 contextvar 복사를 자동화하여 사용자가 예상하는 대로 thread가 “그냥 작동”하도록 합니다.
이 클래스를 사용하지 않고 다음과 같이 작성하여 동일한 효과를 얻을 수도 있습니다.
method __init__
property daemon
이 thread가 데몬 thread인지 여부를 나타내는 불리언(boolean) 값입니다. 이 값은start()가 호출되기 전에 설정되어야 하며, 그렇지 않으면 RuntimeError가 발생합니다. 초기 값은 생성한 thread로부터 상속받습니다. 메인 thread는 데몬 thread가 아니므로 메인 thread에서 생성된 모든 thread의 기본값은 daemon = False입니다.
데몬 thread만 남게 되면 전체 Python 프로그램이 종료됩니다.
property ident
이 thread의 thread 식별자입니다. 시작되지 않은 경우None입니다.
이 값은 0이 아닌 정수입니다. get_ident() 함수를 참조하십시오. thread가 종료되고 다른 thread가 생성될 때 thread 식별자가 재활용될 수 있습니다. 식별자는 thread가 종료된 후에도 사용 가능합니다.
property name
식별 목적으로만 사용되는 문자열입니다. 특별한 의미는 없습니다. 여러 thread에 동일한 이름을 부여할 수 있습니다. 초기 이름은 생성자에 의해 설정됩니다.property native_id
이 thread의 네이티브 정수 thread ID입니다. 시작되지 않은 경우None입니다.
이 값은 음수가 아닌 정수입니다. get_native_id() 함수를 참조하십시오. 이것은 커널에 의해 보고된 Thread ID를 나타냅니다.
Source
method run
Source
class ContextAwareThreadPoolExecutor
호출자의 컨텍스트를 사용하여 함수를 실행하는 ThreadPoolExecutor입니다.
이 클래스는 concurrent.futures.ThreadPoolExecutor를 대체하여 사용할 수 있으며, executor 내부에서 Weave 호출이 예상대로 작동하도록 보장합니다. Weave 는 특정 contextvars가 설정되어 있어야 하지만(call_context.py 참조), 새 thread는 부모의 컨텍스트를 자동으로 복사하지 않으므로 호출 컨텍스트가 손실될 수 있습니다. 이 클래스는 contextvar 복사를 자동화하여 사용자가 예상하는 대로 executor가 “그냥 작동”하도록 합니다.
이 클래스를 사용하지 않고 다음과 같이 작성하여 동일한 효과를 얻을 수도 있습니다.
method __init__
Source
method map
Source
method submit
Source
class ContextAwareThread
호출자의 컨텍스트를 사용하여 함수를 실행하는 Thread입니다.
이 클래스는 threading.Thread를 대체하여 사용할 수 있으며, thread 내부에서 호출이 예상대로 작동하도록 보장합니다. Weave 는 특정 contextvars가 설정되어 있어야 하지만(call_context.py 참조), 새 thread는 부모의 컨텍스트를 자동으로 복사하지 않으므로 호출 컨텍스트가 손실될 수 있습니다. 이 클래스는 contextvar 복사를 자동화하여 사용자가 예상하는 대로 thread가 “그냥 작동”하도록 합니다.
이 클래스를 사용하지 않고 다음과 같이 작성하여 동일한 효과를 얻을 수도 있습니다.
method __init__
property daemon
이 thread가 데몬 thread인지 여부를 나타내는 불리언(boolean) 값입니다. 이 값은start()가 호출되기 전에 설정되어야 하며, 그렇지 않으면 RuntimeError가 발생합니다. 초기 값은 생성한 thread로부터 상속받습니다. 메인 thread는 데몬 thread가 아니므로 메인 thread에서 생성된 모든 thread의 기본값은 daemon = False입니다.
데몬 thread만 남게 되면 전체 Python 프로그램이 종료됩니다.
property ident
이 thread의 thread 식별자입니다. 시작되지 않은 경우None입니다.
이 값은 0이 아닌 정수입니다. get_ident() 함수를 참조하십시오. thread가 종료되고 다른 thread가 생성될 때 thread 식별자가 재활용될 수 있습니다. 식별자는 thread가 종료된 후에도 사용 가능합니다.
property name
식별 목적으로만 사용되는 문자열입니다. 특별한 의미는 없습니다. 여러 thread에 동일한 이름을 부여할 수 있습니다. 초기 이름은 생성자에 의해 설정됩니다.property native_id
이 thread의 네이티브 정수 thread ID입니다. 시작되지 않은 경우None입니다.
이 값은 음수가 아닌 정수입니다. get_native_id() 함수를 참조하십시오. 이것은 커널에 의해 보고된 Thread ID를 나타냅니다.
Source
method run
Source
class ContextAwareThreadPoolExecutor
호출자의 컨텍스트를 사용하여 함수를 실행하는 ThreadPoolExecutor입니다.
이 클래스는 concurrent.futures.ThreadPoolExecutor를 대체하여 사용할 수 있으며, executor 내부에서 Weave 호출이 예상대로 작동하도록 보장합니다. Weave 는 특정 contextvars가 설정되어 있어야 하지만(call_context.py 참조), 새 thread는 부모의 컨텍스트를 자동으로 복사하지 않으므로 호출 컨텍스트가 손실될 수 있습니다. 이 클래스는 contextvar 복사를 자동화하여 사용자가 예상하는 대로 executor가 “그냥 작동”하도록 합니다.
이 클래스를 사용하지 않고 다음과 같이 작성하여 동일한 효과를 얻을 수도 있습니다.
method __init__
Source
method map
Source
method submit
Source
function deprecated
new_name으로 안내하는 데코레이터입니다.
Source
function is_colab
Source
function is_notebook
Source
function log_once
log_method: 메시지를 로그하는 데 사용할 메소드입니다. 이 메소드는 문자열 인수를 받아야 합니다.message: 로그할 메시지입니다. 예시: