Class TaskQueue
Namespace: Tool.Utils.ThreadQueue
Assembly: Tool.Net.dll
一个消息队列任务模型(异步处理任务·线程安全)
public static class TaskQueueInheritance
Inherited Members
object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()
Extension Methods
ObjectExtension.Add<T>(object, object, object), ObjectExtension.CopyEntity(object, object, params string[]), ObjectExtension.EntityToJson(object), ObjectExtension.EntityToJson(object, bool), ObjectExtension.EntityToJson(object, bool, string), DictionaryExtension.GetDictionary(object), TypeExtension.GetFieldKey(object, string, out bool), TypeExtension.GetFieldKey<T>(object, string, out bool), TypeExtension.GetFieldKey(object, Type, string, out bool), ObjectExtension.GetIntPtr(object), ObjectExtension.GetIntPtrInt(object), TypeExtension.GetPropertieFind(object, string, bool), TypeExtension.GetProperties(object), TypeExtension.GetPropertyKey(object, string, out bool), TypeExtension.GetPropertyKey<T>(object, string, out bool), TypeExtension.GetPropertyKey(object, Type, string, out bool), TypeExtension.GetValue(object, PropertyDescriptor), TypeExtension.GetValue(object, string, bool), TypeExtension.GetValue(object, string), ObjectExtension.Read<T>(object, object, int, int), ObjectExtension.Read<T>(object, int, object, int, int), DictionaryExtension.SetDictionary(object, IDictionary<string, object>), TypeExtension.SetFieldKey(object, string, object), TypeExtension.SetFieldKey<T>(object, string, object), TypeExtension.SetFieldKey(object, Type, string, object), TypeExtension.SetPropertyKey(object, string, object), TypeExtension.SetPropertyKey<T>(object, string, object), TypeExtension.SetPropertyKey(object, Type, string, object), TypeExtension.SetValue(object, PropertyDescriptor, object), TypeExtension.SetValue(object, string, object, bool), TypeExtension.SetValue(object, string, object), ObjectExtension.ToBase64String(object), ObjectExtension.ToBytes(object), ObjectExtension.ToBytes(object, out Type), DictionaryExtension.ToDictionary(object), DictionaryExtension.ToDictionary<T>(object), DictionaryExtension.ToIDictionary(object), DictionaryExtension.ToIDictionary<T>(object), ObjectExtension.ToJson(object), ObjectExtension.ToJson(object, JsonSerializerOptions), ObjectExtension.ToJsonWeb(object), ObjectExtension.ToJsonWeb(object, Action<JsonSerializerOptions>), ObjectExtension.ToTryVar<T>(object, T), ObjectExtension.ToVar<T>(object), ObjectExtension.ToVar(object, Type, bool), ObjectExtension.ToVar(object, string), ObjectExtension.ToXml(object)
Remarks
代码由逆血提供支持
Properties
CompleteCount
累计已完成的任务数
public static ulong CompleteCount { get; }Property Value
Count
当前活动的任务数
public static int Count { get; }Property Value
TotalCount
累计已有的任务数
public static ulong TotalCount { get; }Property Value
Methods
Enqueue(object, Delegate, params object[])
添加一个新的任务(他会排队一个一个完成)
public static Task Enqueue(object callClass, Delegate action, params object[] args)Parameters
callClass object
调用类信息
action Delegate
任务
args object[]
任务需要的参数
Returns
Remarks
可等待的结果
Enqueue<T>(object, Delegate, params object[])
添加一个新的任务(他会排队一个一个完成)
public static Task<T> Enqueue<T>(object callClass, Delegate func, params object[] args)Parameters
callClass object
调用类信息
func Delegate
任务
args object[]
任务需要的参数
Returns
Task<T>
Type Parameters
T
Remarks
可等待的结果
GetOrAdd(Delegate)
获取一个可以动态传递的委托(可复用保证线程安全)
public static IActionDispatcher GetOrAdd(Delegate func)Parameters
func Delegate
任务需要的参数
Returns
Remarks
StaticEnqueue(Delegate, params object[])
添加一个新的任务(他会排队一个一个完成)
public static Task StaticEnqueue(Delegate action, params object[] args)Parameters
action Delegate
任务
args object[]
任务需要的参数
Returns
Remarks
可等待的结果
StaticEnqueue<T>(Delegate, params object[])
添加一个新的任务(他会排队一个一个完成)
public static Task<T> StaticEnqueue<T>(Delegate func, params object[] args)Parameters
func Delegate
任务
args object[]
任务需要的参数
Returns
Task<T>
Type Parameters
T
Remarks
可等待的结果