fastCSharp/run.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using fastCSharp.threading;
namespace fastCSharp
{
/// <summary>
/// 泛型任务信息
/// </summary>
/// <typeparam name="parameterType">任务执行参数类型</typeparam>
public sealed class run<parameterType> : typePool<run<parameterType>>
{
/// <summary>
/// 任务执行委托
/// </summary>
private action<parameterType> func;
/// <summary>
/// 任务执行参数
/// </summary>
private parameterType parameter;
/// <summary>
/// 执行任务
/// </summary>
private void action()
{
action<parameterType> func = this.func;
parameterType parameter = this.parameter;
this.func = null;
this.parameter = default(parameterType);
interlocked.CompareSetSleep0(ref poolLock);
try
{
push(this);
}
finally
{
poolLock = 0;
func(parameter);
}
}
/// <summary>
/// 泛型任务信息
/// </summary>
/// <param name="action">任务执行委托</param>
/// <param name="parameter">任务执行参数</param>
/// <returns>泛型任务信息</returns>
public static action Create(action<parameterType> action, parameterType parameter)
{
run<parameterType> run = Pop();
if (run == null)
{
try
{
run = new run<parameterType>();
}
catch (Exception error)
{
log.Default.Add(error, null, false);
}
if (run == null) return null;
}
后面还有 75 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
