Thread

Struct Thread 

Source
pub struct Thread(/* private fields */);
Expand description

A representation of a JavaScript thread (Web worker with shared memory).

Implementations§

Source§

impl Thread

Source

pub fn new() -> Self

Spawn a new thread.

Source

pub fn run<Context: Post, F: Future<Output: Post> + 'static>( &self, context: Context, code: impl FnOnce(Context) -> F + Send + 'static, ) -> Task<F::Output>

Execute a function on a thread.

The function will begin executing immediately. The resulting Task can be awaited to retrieve the result.

§Arguments
§context

A Postable context that will be sent across the thread boundary using postMessage and passed to the function on the other side.

§code

A FnOnce implementation containing the code in question. The function is async, but will run on a Worker so may block (though doing so will block the thread!). The function itself must be Send, and Send values can be sent through in its closure, but once executed the resulting Future will not be moved, so needn’t be Send.

Source

pub fn run_send<Context: Post, F: Future<Output: Send> + 'static>( &self, context: Context, code: impl FnOnce(Context) -> F + Send + 'static, ) -> SendTask<F::Output>

Like Thread::run, but the output can be sent through Rust memory without Posting.

Trait Implementations§

Source§

impl Default for Thread

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Drop for Thread

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl Freeze for Thread

§

impl RefUnwindSafe for Thread

§

impl !Send for Thread

§

impl !Sync for Thread

§

impl Unpin for Thread

§

impl UnwindSafe for Thread

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.