我想使用C#作为我的编程语言为FIFO(先进先出)调度算法创建DES(离散事件模拟)。
所以我搜索了网络,我找不到真正有用的c#指导,但我发现我想要的java代码。我现在要发布
初始化过程
Queue q = new Queue();
EventQueue eventq = new EventQueue();
Random rand = new Random();
Distribution interarrivalTimeDist =
new ExponentialDistribution(lambda, rand);
Distribution serviceTimeDist =
new ExponentialDistribution(mu, rand);
double t = 0;
// generate first arrival
eventq.addEvent(new Event(Event.ARRIVAL,
interarrivalTimeDist.nextRandom()));
主程序
while (t < simLength) {
Event e = eventq.nextEvent();
t = e.getTime();
switch (e.getType()) {
case Event.ARRIVAL : {
// handle arrival
}
case Event.DEPARTURE : {
// handle departure
}
}
}
抵达时
case Event.ARRIVAL : {
// schedule next arrival
eventq.addEvent(new Event(Event.ARRIVAL,
t + interarrivalTimeDist.nextRandom()));
double serviceTime =
serviceTimeDist.nextRandom();
q.addCustomer(new Customer(t, serviceTime));
if (q.getSize() == 1) {
eventq.addEvent(new Event(Event.DEPARTURE,
t + serviceTime));
}
break;
}
离境案例
case Event.DEPARTURE : {
q.removeCustomer(t);
if (q.getSize() > 0) {
double serviceTime =
q.getCustomerAt(0).getServiceTime();
eventq.addEvent(new Event(Event.DEPARTURE,
t + serviceTime));
}
break;
}
任何线索或指导如何将此代码转换为c#?? 和帮助将有助于高度赞赏它 PS: - 对于专家,如果我的主题不像你们认为的那样专业,请表现出一些宽容 谢谢
答案 0 :(得分:1)
你的问题听起来很像“我如何编程这个想法”,并不是一个好的问题。你应该设计很多你想做的事情,按步骤构建它,然后带着具体的问题来到这里,而不是广泛的想法或大量的代码。
仅回答FIFO,即queue
。阅读queues并与他们一起练习。