#[repr(C)]pub struct ThreadInner {
pub thread_handle: Box<Option<JoinHandle<()>>>,
pub sender: Box<Sender<ThreadSendMsg>>,
pub receiver: Box<Receiver<ThreadReceiveMsg>>,
pub dropcheck: Box<Weak<()>>,
pub writeback_data: RefAny,
pub check_thread_finished_fn: CheckThreadFinishedCallback,
pub send_thread_msg_fn: LibrarySendThreadMsgCallback,
pub receive_thread_msg_fn: LibraryReceiveThreadMsgCallback,
pub thread_destructor_fn: ThreadDestructorCallback,
}
Expand description
A Thread
is a seperate thread that is owned by the framework.
In difference to a Thread
, you don’t have to await()
the result of a Thread
,
you can just hand the Thread to the framework (via RendererResources::add_Thread
) and
the framework will automatically update the UI when the Thread is finished.
This is useful to offload actions such as loading long files, etc. to a background thread.
Azul will join the thread automatically after it is finished (joining won’t block the UI).
Fields§
§thread_handle: Box<Option<JoinHandle<()>>>
§sender: Box<Sender<ThreadSendMsg>>
§receiver: Box<Receiver<ThreadReceiveMsg>>
§dropcheck: Box<Weak<()>>
§writeback_data: RefAny
§check_thread_finished_fn: CheckThreadFinishedCallback
§send_thread_msg_fn: LibrarySendThreadMsgCallback
§receive_thread_msg_fn: LibraryReceiveThreadMsgCallback
§thread_destructor_fn: ThreadDestructorCallback
Trait Implementations§
Source§impl Debug for ThreadInner
impl Debug for ThreadInner
Auto Trait Implementations§
impl Freeze for ThreadInner
impl !RefUnwindSafe for ThreadInner
impl Send for ThreadInner
impl !Sync for ThreadInner
impl Unpin for ThreadInner
impl !UnwindSafe for ThreadInner
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more