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 积分,解读结果公开显示在下面。

还没有人解读过这个文件。