Class NewThreadScheduler
Represents an object that schedules each unit of work on a separate thread.
Inherited Members
Namespace: System.Reactive.Concurrency
Assembly: System.Reactive.PlatformServices.dll
Syntax
public sealed class NewThreadScheduler : LocalScheduler, IScheduler, IStopwatchProvider, IServiceProvider, ISchedulerLongRunning, ISchedulerPeriodic
Constructors
| Improve this Doc View SourceNewThreadScheduler()
Creates an object that schedules each unit of work on a separate thread.
Declaration
public NewThreadScheduler()
NewThreadScheduler(Func<ThreadStart, Thread>)
Creates an object that schedules each unit of work on a separate thread.
Declaration
public NewThreadScheduler(Func<ThreadStart, Thread> threadFactory)
Parameters
Type | Name | Description |
---|---|---|
Func<ThreadStart, Thread> | threadFactory | Factory function for thread creation. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
Properties
| Improve this Doc View SourceDefault
Gets an instance of this scheduler that uses the default Thread constructor.
Declaration
public static NewThreadScheduler Default { get; }
Property Value
Type | Description |
---|---|
NewThreadScheduler |
Methods
| Improve this Doc View SourceSchedule<TState>(TState, TimeSpan, Func<IScheduler, TState, IDisposable>)
Schedules an action to be executed after dueTime.
Declaration
public override IDisposable Schedule<TState>(TState state, TimeSpan dueTime, Func<IScheduler, TState, IDisposable> action)
Parameters
Type | Name | Description |
---|---|---|
TState | state | State passed to the action to be executed. |
TimeSpan | dueTime | Relative time after which to execute the action. |
Func<IScheduler, TState, IDisposable> | action | Action to be executed. |
Returns
Type | Description |
---|---|
IDisposable | The disposable object used to cancel the scheduled action (best effort). |
Type Parameters
Name | Description |
---|---|
TState | The type of the state passed to the scheduled action. |
Overrides
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
ScheduleLongRunning<TState>(TState, Action<TState, ICancelable>)
Schedules a long-running task by creating a new thread. Cancellation happens through polling.
Declaration
public IDisposable ScheduleLongRunning<TState>(TState state, Action<TState, ICancelable> action)
Parameters
Type | Name | Description |
---|---|---|
TState | state | State passed to the action to be executed. |
Action<TState, ICancelable> | action | Action to be executed. |
Returns
Type | Description |
---|---|
IDisposable | The disposable object used to cancel the scheduled action (best effort). |
Type Parameters
Name | Description |
---|---|
TState | The type of the state passed to the scheduled action. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
SchedulePeriodic<TState>(TState, TimeSpan, Func<TState, TState>)
Schedules a periodic piece of work by creating a new thread that goes to sleep when work has been dispatched and wakes up again at the next periodic due time.
Declaration
public IDisposable SchedulePeriodic<TState>(TState state, TimeSpan period, Func<TState, TState> action)
Parameters
Type | Name | Description |
---|---|---|
TState | state | Initial state passed to the action upon the first iteration. |
TimeSpan | period | Period for running the work periodically. |
Func<TState, TState> | action | Action to be executed, potentially updating the state. |
Returns
Type | Description |
---|---|
IDisposable | The disposable object used to cancel the scheduled recurring action (best effort). |
Type Parameters
Name | Description |
---|---|
TState | The type of the state passed to the scheduled action. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
ArgumentOutOfRangeException |
|
StartStopwatch()
Starts a new stopwatch object.
Declaration
public override IStopwatch StartStopwatch()
Returns
Type | Description |
---|---|
IStopwatch | New stopwatch object; started at the time of the request. |