Skip to content
ZjzMisaka edited this page Dec 23, 2024 · 13 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(() => 
{
    // Do something
});

使用回调

PowerPool powerPool = new PowerPool(new PowerPoolOption() { /* Some options */ });
powerPool.QueueWorkItem(() => 
{
    // Do something
    return result;
}, (res) => 
{
    // Callback of the work
});

使用配置选项

PowerPool powerPool = new PowerPool(new PowerPoolOption() { /* Some options */ });
powerPool.QueueWorkItem(() => 
{
    // Do something
    return result;
}, new WorkOption()
{
    // Some options
});

参考

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>> or Action<ExecuteResult<TResult>>), 取决于第一个参数是Action还是Func.
  • 在省略号 (…) 处, 最多可以提供五个泛型参数.

更多

测试与性能分析 | 特性比较

Clone this wiki locally