[][src]Struct pyo3::GILGuard

#[must_use]
pub struct GILGuard { /* fields omitted */ }

RAII type that represents the Global Interpreter Lock acquisition.

Example

use pyo3::Python;

{
    let gil_guard = Python::acquire_gil();
    let py = gil_guard.python();
} // GIL is released when gil_guard is dropped

Methods

impl GILGuard[src]

pub fn acquire() -> GILGuard[src]

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.

pub fn python(&self) -> Python[src]

Retrieves the marker type that proves that the GIL was acquired.

Trait Implementations

impl Drop for GILGuard[src]

The Drop implementation for GILGuard will release the GIL.

Auto Trait Implementations

impl !Send for GILGuard

impl !Sync for GILGuard

impl Unpin for GILGuard

impl UnwindSafe for GILGuard

impl !RefUnwindSafe for GILGuard

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]