Search Results for

    Show / Hide Table of Contents

    Class SingleThreadTaskScheduler

    A single-threaded task scheduler that runs all of its tasks on the same thread.

    Inheritance
    Object
    SingleThreadTaskScheduler
    Implements
    IDisposable
    Namespace: IPA.Utilities.Async
    Assembly: IPA.Loader.dll
    Syntax
    public class SingleThreadTaskScheduler : TaskScheduler

    Properties

    | Improve this Doc View Source

    IsRunning

    Gets whether or not the underlying thread has been started.

    Declaration
    public bool IsRunning { get; }
    Property Value
    Type Description
    Boolean

    Methods

    | Improve this Doc View Source

    Dispose()

    Disposes this object. This puts the object into an unusable state.

    Declaration
    public void Dispose()
    | Improve this Doc View Source

    Dispose(Boolean)

    Disposes this object.

    Declaration
    protected virtual void Dispose(bool disposing)
    Parameters
    Type Name Description
    Boolean disposing

    whether or not to dispose managed objects

    | Improve this Doc View Source

    Exit()

    Terminates the runner thread, and waits for the currently running task to complete.

    Declaration
    public IEnumerable<Task> Exit()
    Returns
    Type Description
    IEnumerable<Task>

    an of s that did not execute

    Remarks

    After this method returns, this object has been disposed and is no longer in a valid state.

    | Improve this Doc View Source

    GetScheduledTasks()

    Throws a .

    Declaration
    protected override IEnumerable<Task> GetScheduledTasks()
    Returns
    Type Description
    IEnumerable<Task>

    nothing

    | Improve this Doc View Source

    Join()

    Waits for the runner thread to complete all tasks in the queue, then exits.

    Declaration
    public void Join()
    Remarks

    After this method returns, this object has been disposed and is no longer in a valid state.

    | Improve this Doc View Source

    QueueTask(Task)

    Queues a given to this scheduler. The must> be scheduled for this by the runtime.

    Declaration
    protected override void QueueTask(Task task)
    Parameters
    Type Name Description
    Task task

    the to queue

    | Improve this Doc View Source

    Start()

    Starts the thread that executes tasks scheduled with this

    Declaration
    public void Start()
    | Improve this Doc View Source

    TryExecuteTaskInline(Task, Boolean)

    Rejects any attempts to execute a task inline.

    Declaration
    protected override bool TryExecuteTaskInline(Task task, bool taskWasPreviouslyQueued)
    Parameters
    Type Name Description
    Task task

    the task to attempt to execute

    Boolean taskWasPreviouslyQueued

    whether the task was previously queued to this scheduler

    Returns
    Type Description
    Boolean false
    Remarks

    This task scheduler always runs its tasks on the thread that it manages, therefore it doesn't make sense to run it inline.

    Implements

    IDisposable

    Extension Methods

    ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<U, T>(T, String)
    ReflectionUtil.SetProperty<T, U>(T, String, U)
    ReflectionUtil.GetProperty<U, T>(T, String)
    ReflectionUtil.InvokeMethod<U, T>(T, String, Object[])
    • Improve this Doc
    • View Source
    In This Article
    Back to top Generated by DocFX