-
Notifications
You must be signed in to change notification settings - Fork 0
Home
ZjzMisaka edited this page Dec 23, 2024
·
13 revisions
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>>
orAction<ExecuteResult<TResult>>
), 取决于第一个参数是Action还是Func. - 在省略号 (…) 处, 最多可以提供五个泛型参数.