作业调度算法先来先服务(FCFS)代码
时间: 2024-10-12 20:09:23 浏览: 85
先来先服务(First-Come, First-Served, FCFS)是一种基本的作业调度算法,它的核心思想是按照任务到达的顺序进行处理。在这个算法中,系统不会优先考虑那些刚刚到达的任务,而是会按顺序逐一完成当前队列中的作业。
下面是一个简单的基于FCFS的单线程程序示例,这里假设有一个任务列表:
```python
class JobQueue:
def __init__(self):
self.jobs = []
# 添加新任务
def enqueue(self, job):
self.jobs.append(job)
# 完成当前任务并取出下一个
def dequeue(self):
if not self.jobs:
return None
else:
current_job = self.jobs[0]
self.jobs.pop(0)
return current_job
# 使用示例
scheduler = JobQueue()
jobs = [Job("Task 1"), Job("Task 2"), Job("Task 3")]
for job in jobs:
scheduler.enqueue(job)
while True:
running_task = scheduler.dequeue()
if running_task is None:
break # 队列为空,所有任务已完成
print(f"现在处理: {running_task.name}")
```
在这个例子中,`enqueue`函数用于将作业添加到队列,`dequeue`函数则从队首取出并运行下一个任务。当队列空了,说明所有的作业都已经完成。
阅读全文