コード例 #1
0
        public static PriorityTask <T> Schedule <T>(Func <T> action, PriorityClass priorityClass, int priority)
        {
            var t = new PriorityTask <T>(action, priorityClass, priority);

            Instance.QueueTask(t);
            return(t);
        }
コード例 #2
0
ファイル: Window.cs プロジェクト: moodykeke/SmartSystemMenu
        public void SetPriority(Priority priority)
        {
            IntPtr        processHandle = Process.GetProcessById(ProcessId).GetHandle();
            PriorityClass priorityClass = priority.GetPriorityClass();

            NativeMethods.SetPriorityClass(processHandle, priorityClass);
        }
コード例 #3
0
        public static PositionedTask <T> Schedule <T>(Func <T> action, PriorityClass priorityClass, EntityPosition position)
        {
            var t = new PositionedTask <T>(action, priorityClass, position);

            Instance.QueueTask(t);
            return(t);
        }
コード例 #4
0
        public static PriorityTask Schedule(Action action, PriorityClass priorityClass, int priority)
        {
            var t = new PriorityTask(action, priorityClass, priority);

            Instance.QueueTask(t);
            return(t);
        }
コード例 #5
0
ファイル: HiddenProcess.cs プロジェクト: NaolShow/Trou
        /// <summary>
        /// Initializes a new intance of the <see cref="HiddenProcess"/> class
        /// </summary>
        public HiddenProcess(string workingDirectory, string fileName, string arguments, PriorityClass priority, bool endAsParent)
        {
            // Save
            WorkingDirectory = workingDirectory;
            FileName         = fileName;
            Arguments        = arguments;
            EndAsParent      = endAsParent;

            Priority = priority;
        }
コード例 #6
0
        public void RunProcess(Action process, PriorityClass priorityClass, string processName, bool runInThread)
        {
            process = TaskInProgress.Start(this, process, $"RunProcess[{processName}]");
            LogTileMessage($"Starting Process '{processName}'...");

            if (runInThread)
            {
                process();
            }
            else
            {
                PriorityScheduler.Schedule(process, priorityClass, Centroid);
            }
        }
コード例 #7
0
        public static Priority GetPriority(this PriorityClass priorityClass)
        {
            switch (priorityClass)
            {
            case PriorityClass.REALTIME_PRIORITY_CLASS: return(Priority.RealTime);

            case PriorityClass.HIGH_PRIORITY_CLASS: return(Priority.High);

            case PriorityClass.ABOVE_NORMAL_PRIORITY_CLASS: return(Priority.AboveNormal);

            case PriorityClass.NORMAL_PRIORITY_CLASS: return(Priority.Normal);

            case PriorityClass.BELOW_NORMAL_PRIORITY_CLASS: return(Priority.BelowNormal);

            case PriorityClass.IDLE_PRIORITY_CLASS: return(Priority.Idle);

            default: return(Priority.Normal);
            }
        }
コード例 #8
0
 public static extern bool SetPriorityClass(IntPtr hProcess, PriorityClass priorityClass);
コード例 #9
0
ファイル: WinAPI.cs プロジェクト: TETYYS/socon
 public static extern bool SetPriorityClass(IntPtr handle, PriorityClass priorityClass);
コード例 #10
0
 public PositionedTask(Action action, PriorityClass priorityClass, EntityPosition position)
     : base(action, priorityClass, 0)
 {
     Position = position;
 }
コード例 #11
0
 public PriorityTask(Action action, PriorityClass priorityClass, int priority)
     : base(priorityClass, priority)
 {
     _action = action;
 }
コード例 #12
0
 public PriorityTaskBase(PriorityClass priorityClass, int priority)
 {
     PriorityClass = priorityClass;
     Priority      = priority;
 }
コード例 #13
0
    public int CompareTo(Object obj)
    {
        PriorityClass other = (PriorityClass)obj;   // Explicit cast

        return(priorityValue - other.priorityValue);
    }
コード例 #14
0
 public static extern bool SetPriorityClass(IntPtr handle, PriorityClass priorityClass);