当前位置: 首页>>代码示例>>C#>>正文


C# IQueue.GetContextSwitch方法代码示例

本文整理汇总了C#中IQueue.GetContextSwitch方法的典型用法代码示例。如果您正苦于以下问题:C# IQueue.GetContextSwitch方法的具体用法?C# IQueue.GetContextSwitch怎么用?C# IQueue.GetContextSwitch使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IQueue的用法示例。


在下文中一共展示了IQueue.GetContextSwitch方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ContextSwitchRecord

        /// <summary>
        /// Record from a queue. The only real use case for this record as of now.
        /// </summary>
        /// <param name="queue">The queue to create this record from.</param>
        public ContextSwitchRecord(IQueue queue)
        {
            Process next = queue.GetContextSwitch();
            this.Ready = new List<ProcessRecord>();
            this.IO = new List<ProcessRecord>();
            this.Complete = new List<ProcessRecord>();

            this.Running = null;
            if (next != null && queue.State != QueueState.COMPLETE) this.Running = new ProcessRecord(next.Name, next.Parent.Name, next.Time.Current.Duration);
            this.Time = queue.TotalTime - 1;        //-1 because we're checking this AFTER it has incremented times.

            foreach (Process p in queue.CompleteProcs)
            {
                ProcessRecord add = new ProcessRecord()
                {
                    Name = p.Name,
                    Parent = p.Parent.Name,
                    CurrentTime = p.Time.Current == null ? 0 : p.Time.Current.Duration
                };
                this.Complete.Add(add);
            }

            foreach (Process p in queue.IOProcs) this.IO.Add(new ProcessRecord(p.Name, p.Parent.Name, p.Time.Current.Duration));

            foreach (Process p in queue.ReadyProcs)
            {
                if(p != next) this.Ready.Add(new ProcessRecord(p.Name, p.Parent.Name, p.Time.Current.Duration));
            }
        }
开发者ID:phalpin,项目名称:cpusched,代码行数:33,代码来源:ContextSwitchRecord.cs


注:本文中的IQueue.GetContextSwitch方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。