IOTaskRunner クラス
I/Oリソースに関するスレッド所属処理を、専用の単一バックグラウンドスレッドで順番に実行します。
名前空間: FloatSoda.Engine
アセンブリ: FloatSoda.Engine.dll
public sealed class IOTaskRunner : ITaskRunner, IDisposable実装するインターフェイス
Section titled “実装するインターフェイス”継承したメンバー
Section titled “継承したメンバー”object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.ReferenceEquals(object?, object?), object.ToString()
このランナーはフレーム周期を持ちません。投入された処理があるときだけ専用スレッドを起床し、 FIFO順に1件ずつ実行します。ファイルやネットワークの非同期I/O自体ではなく、 特定スレッドで直列化する必要があるリソース生成やアップロード処理に使用してください。
コンストラクター
Section titled “コンストラクター”IOTaskRunner(string, ILogger?)
Section titled “IOTaskRunner(string, ILogger?)”I/Oタスクランナーを作成します。
public IOTaskRunner(string threadName = "IOThread", ILogger? logger = null)パラメーター
Section titled “パラメーター”threadName string
専用スレッドに設定する名前。
logger ILogger?
停止待機のタイムアウトを記録するロガー。記録しない場合は null。
IsRunning
Section titled “IsRunning”専用スレッドが開始済みで、かつ終了していないかどうかを取得します。
public bool IsRunning { get; }プロパティの値
Section titled “プロパティの値”RunsTasksOnCurrentThread
Section titled “RunsTasksOnCurrentThread”呼び出し元がこのランナーの専用スレッドかどうかを取得します。
public bool RunsTasksOnCurrentThread { get; }プロパティの値
Section titled “プロパティの値”ThreadName
Section titled “ThreadName”専用スレッドに設定される名前を取得します。
public string ThreadName { get; }プロパティの値
Section titled “プロパティの値”Dispose()
Section titled “Dispose()”Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()RunAsync(Action, CancellationToken)
Section titled “RunAsync(Action, CancellationToken)”戻り値を持たない処理を専用スレッドへ投入します。
public Task RunAsync(Action action, CancellationToken cancellationToken = default)パラメーター
Section titled “パラメーター”action Action
専用スレッドで実行する同期処理。
cancellationToken CancellationToken
処理の開始前にキャンセルするためのトークン。
処理の完了、例外、またはキャンセルを表すタスク。
RunAsync<T>(Func<T>, CancellationToken)
Section titled “RunAsync<T>(Func<T>, CancellationToken)”戻り値を持つ処理を専用スレッドへ投入します。
public Task<T> RunAsync<T>(Func<T> function, CancellationToken cancellationToken = default)パラメーター
Section titled “パラメーター”function Func<T>
専用スレッドで実行する同期処理。
cancellationToken CancellationToken
処理の開始前にキャンセルするためのトークン。
Task<T>
処理の結果、例外、またはキャンセルを表すタスク。
型パラメーター
Section titled “型パラメーター”T
処理が返す値の型。
Start(CancellationToken)
Section titled “Start(CancellationToken)”専用スレッドを開始します。すでに実行中の場合は何もしません。
public void Start(CancellationToken token = default)パラメーター
Section titled “パラメーター”token CancellationToken
専用スレッドの停止要求を通知するキャンセルトークン。
このインスタンスが破棄済みです。
前回の専用スレッドが待機上限内に終了しませんでした。この状態で開始すると単一スレッドでの 直列実行が保証できないため、開始しません。
Stop()
Section titled “Stop()”新しいタスクの受付を停止し、投入済みの処理を完了してから専用スレッドを終了します。
public void Stop()専用スレッド自身から呼び出した場合は終了待機を行いません。 投入済みの処理が長引く場合、待機は3秒で打ち切って警告を記録します。