成都创新互联网站制作重庆分公司

java实现调度算法代码 java任务调度算法

求一个先来先服务调度算法的程序 java编的

import java.util.ArrayList;

成都创新互联公司是一家专注于成都网站设计、成都网站制作与策划设计,涵江网站建设哪家好?成都创新互联公司做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:涵江等地区。涵江做网站价格咨询:028-86922220

import java.util.List;

public class Question {

// 调度总站

class DiaoDuZhan{

private ListClient list;

public Client getClient(){ // 获得客户

if(list != null list.size() 0){

Client client = list.get(0);

list.remove(client);

return client;

}else{

return null;

}

}

public void addClient(Client client){

if(list == null){

list = new ArrayListClient();

}

list.add(client);

}

}

// 客户

interface Client{

public void setService(Service service);

public Service getSerive();

}

// 服务

interface Service{

public void doService();

}

// 服务员

class waiter{

DiaoDuZhan diaoduzhan;

public DiaoDuZhan getDiaoduzhan() {

return diaoduzhan;

}

public void setDiaoduzhan(DiaoDuZhan diaoduzhan) {

this.diaoduzhan = diaoduzhan;

}

public void doNext(){

Client client = diaoduzhan.getClient();

if(client != null)

client.getSerive().doService();

}

}

}

java代码,多机调度问题,怎么解释

多机调度问题的Java实现(贪心算法)

具体问题描述以及C/C++实现参见网址

[java] view plain copy print?

import java.util.ArrayList;  

import java.util.Collections;  

import java.util.LinkedList;  

import java.util.List;  

/** 

* 多机调度问题--贪心算法 

* @author Lican 

*/  

public class JobMachine {  

public static class JobNode implements Comparable{  

int id;//作业的标号  

int time;//作业时间  

public JobNode(int id,int time){  

this.id=id;  

this.time=time;  

}  

@Override  

public int compareTo(Object x) {//按时间从大到小排列  

int times=((JobNode)x).time;  

if(timetimes) return -1;  

if(time==times) return 0;  

return 1;  

}         

}  

public static class MachineNode implements Comparable{  

int id;//机器的标号  

int avail;//机器空闲的时间(即机器做完某一项工作的时间)  

public MachineNode(int id,int avail){  

this.id=id;  

this.avail=avail;  

}  

@Override  

public int compareTo(Object o) {//升序排序,LinkedList的first为最小的  

int xs=((MachineNode)o).avail;  

if(availxs) return -1;  

if(avail==xs) return 0;  

return 1;  

}  

}  

public static int greedy(int[] a ,int m){  

int n=a.length-1;//a的下标从1开始,所以n(作业的数目)=a.length-1  

int sum=0;  

if(n=m){  

for(int i=0;in;i++)  

sum+=a[i+1];  

System.out.println("为每个作业分别分配一台机器");  

return sum;  

}  

ListJobNode d=new ArrayListJobNode();//d保存所有的作业  

for(int i=0;in;i++){//将所有的作业存入List中,每一项包含标号和时间  

JobNode jb=new JobNode(i+1,a[i+1]);  

d.add(jb);  

}  

Collections.sort(d);//对作业的List进行排序  

LinkedListMachineNode h=new LinkedListMachineNode();//h保存所有的机器  

for(int i=1;i=m;i++){//将所有的机器存入LinkedList中  

MachineNode x=new MachineNode(i,0);//初始时,每台机器的空闲时间(完成上一个作业的时间)都为0  

h.add(x);  

}  

int test=h.size();  

for(int i=0;in;i++){  

Collections.sort(h);  

MachineNode x=h.peek();  

System.out.println("将机器"+x.id+"从"+x.avail+"到"+(x.avail+d.get(i).time)+"的时间段分配给作业"+d.get(i).id);  

x.avail+=d.get(i).time;  

sum=x.avail;  

}  

return sum;  

}  

public static void main(String[] args) {  

int[] a={0,2,14,4,16,6,5,3};  

int m=3;  

int sum=greedy(a,m);  

System.out.println("总时间为:"+sum);  

}  

}  

/** 

运行结果: 

将机器1从0到16的时间段分配给作业4 

将机器2从0到14的时间段分配给作业2 

将机器3从0到6的时间段分配给作业5 

将机器3从6到11的时间段分配给作业6 

将机器3从11到15的时间段分配给作业3 

将机器2从14到17的时间段分配给作业7 

将机器3从15到17的时间段分配给作业1 

总时间为:17 

*/

Java调度算法 来个大神写程序 选择一个调度算法,实现处理器调度。

public class CLSS_ch2 {

public static void main(String[] args) {

int sum = 0;

for (int i = 1; i = 100; i++) {

if (i % 10 == 3)

continue;

sum += i;

}

System.out.println(sum);

}

}

计算机图形技术组的成员在1993年开发出了 Lua。它被设计成为脚本语言,是一种不可获取的过程式编程语言,以简单而强大而闻名。

用JAVA实现时间片轮转调度算法

你先用C++写,然后做成DLL。

再用java去调就好了。

一般java做底层控制和调用都会这么做。

就像io什么的,都是去调用C的代码完成的

一般java调用c写的dll代码都比较方便。

c调用java的代码几乎不可能。


网站标题:java实现调度算法代码 java任务调度算法
当前路径:http://cxhlcq.com/article/hejsep.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部