Struct cpython::GILGuard
[−]
[src]
#[must_use]
pub struct GILGuard {
// some fields omitted
}RAII type that represents the Global Interpreter Lock acquisition.
Example
use cpython::Python; { let gil_guard = Python::acquire_gil(); let py = gil_guard.python(); } // GIL is released when gil_guard is dropped
Methods
impl GILGuard[src]
fn acquire() -> GILGuard
Acquires the global interpreter lock, which allows access to the Python runtime.
If the Python runtime is not already initialized, this function will initialize it. See prepare_freethreaded_python() for details.
fn python<'p>(&'p self) -> Python<'p>
Retrieves the marker type that proves that the GIL was acquired.
Trait Implementations
impl !Send for GILGuard[src]
GILGuard is not Send because the GIL must be released by the same thread that acquired it.
impl !Sync for GILGuard[src]
GILGuard is not Sync because only the thread that acquired the GIL may access the Python interpreter.
impl Drop for GILGuard[src]
The Drop implementation for GILGuard will release the GIL.