SJF进程调度java代码
时间: 2023-07-09 08:29:41 浏览: 49
以下是一个简单的 SJF 进程调度的 Java 代码示例:
```
import java.util.*;
public class SJFScheduler {
public static void main(String[] args) {
List<Process> processList = new ArrayList<>();
processList.add(new Process("P1", 8));
processList.add(new Process("P2", 6));
processList.add(new Process("P3", 4));
processList.add(new Process("P4", 2));
processList.add(new Process("P5", 3));
processList.add(new Process("P6", 5));
// 根据 CPU 时间排序
Collections.sort(processList, (p1, p2) -> p1.getCpuTime() - p2.getCpuTime());
System.out.println("进程调度顺序:");
for(Process process : processList) {
System.out.println(process.getName());
}
}
static class Process {
private String name;
private int cpuTime;
public Process(String name, int cpuTime) {
this.name = name;
this.cpuTime = cpuTime;
}
public String getName() {
return name;
}
public int getCpuTime() {
return cpuTime;
}
}
}
```
在这个例子中,我们使用一个列表来存储需要执行的进程,使用 `Collections.sort()` 方法根据 CPU 时间对进程进行排序,然后按照排好序的顺序执行进程。最后,输出进程的执行顺序。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)