Skip to content
ZjzMisaka edited this page Dec 24, 2024 · 3 revisions

icon

Nuget Nuget GitHub release (with filter) GitHub Repo stars GitHub Workflow Status (with event) Codecov CodeFactor

PTPは、機能が豊富で高性能なロックフリースレッドプールです。細かいタスク制御、柔軟な並列処理、強力なエラーハンドリング能力を備え、さまざまなタスクを処理できる使いやすいAPIを提供します。

インストール

プロジェクトでPowerThreadPoolを使用したい場合は、Nugetから直接インストールできます。
サポート: Net40+ | Net5.0+ | netstandard2.0+

使い方

簡単な例: タスクの実行

PowerPool powerPool = new PowerPool();
powerPool.QueueWorkItem(() => 
{
    // 何かを実行する
});

コールバックの使用

PowerPool powerPool = new PowerPool(new PowerPoolOption() { /* オプション設定 */ });
powerPool.QueueWorkItem(() => 
{
    // 何かを実行する
    return result;
}, (res) => 
{
    // タスクのコールバック
});

設定オプションの使用

PowerPool powerPool = new PowerPool(new PowerPoolOption() { /* オプション設定 */ });
powerPool.QueueWorkItem(() => 
{
    // 何かを実行する
    return result;
}, new WorkOption()
{
    // オプション設定
});

リファレンス

string QueueWorkItem<T1, ...>(Action<T1, ...> action, T1 param1, ..., *);
string QueueWorkItem(Action action, *);
string QueueWorkItem(Action<object[]> action, object[] param, *);
string QueueWorkItem<T1, ..., TResult>(Func<T1, ..., TResult> function, T1 param1, ..., *);
string QueueWorkItem<TResult>(Func<TResult> function, *);
string QueueWorkItem<TResult>(Func<object[], TResult> function, object[] param, *);
  • アスタリスク (*) はオプションのパラメータを示します。これはWorkOptionまたはデリゲート(Action<ExecuteResult<object>> または Action<ExecuteResult<TResult>>)のいずれかであり、最初のパラメータがActionかFuncかによって異なります。
  • 省略記号 (…) の箇所では、最大5つのジェネリック型パラメータを指定できます。

分析

テストとパフォーマンス分析 | 機能比較

Clone this wiki locally