300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > java飞机场模拟程序_一个java程序模拟race condition的程序 用飞机进港来模拟 自己

java飞机场模拟程序_一个java程序模拟race condition的程序 用飞机进港来模拟 自己

时间:2021-03-27 20:35:22

相关推荐

java飞机场模拟程序_一个java程序模拟race condition的程序 用飞机进港来模拟 自己

题目是这样的:按照狄更斯算法,算法都在我写的程序里面了,要求两架飞船进港,同时只能是一架飞机进港,他们之间用global参数来进行racecondition.现在我把大体的程序写了一下,我不...

题目是这样的:按照狄更斯算法,算法都在我写的程序里面了,要求两架飞船进港,同时只能是一架飞机进港,他们之间用global参数来进行race condition. 现在我把大体的程序写了一下,我不会用thread,所以画葫芦写一个不能执行的

主要有这么几个问题

1.global参数在什么地方定义,是在main里面,还有main前面,还有要再建立一个class来存着,这个global参数要求是两个飞船都要能访问和修改的。

2.怎么让两个飞船进港的程序一起跑起来,不能用java的控制函数防止竞争,要求用我写的那个算法来竞争。

3.我用method来写那个进港的操作,其实就是屏幕输出,这样两个class thread的类都可以调用的到吗?

4。我估计我这个程序是跑不起来的,只能请高手给改改了

public class ShuttleBoarding

{

public int c1=0, c2=0, turn=1; //全局变量,不知道怎么能够被其他两个class共享调用

public static void main(String[] args){

Atlantic a= new Atlantic();

Ranger b= new Ranger();

a.start();

b.start();

}

}

/* 亚特兰大号 */

class Atlantic extends Thread // 亚特兰大号

{

public Atlantic(){ //是否应该把global参数从这里传进来???

}

public void run() { //不清楚run()函数的作用

int loop=1;

while (loop==1){ //while(ture)

c1=1; // 设定自己要进港

//判断对方是否要进港

while(C2==1){

if(turn==2){ //如果不是自己的tun

c1=0; //撤销自己进港

while(turn==2); //spin lock 直到是自己的turn

c1=1; //轮到turn=1后,设定自己要进港

}

}

landingConOffice("Atlantic");//这里是进港的程序 critical section部分

c1=0;

turn=2; //释放自己的资源

}

}

}

/* Ranger号*/

class Ranger extends Thread // 亚特兰大号

{

public Ranger(){}

public void run(){

int loop=1;

while (loop==1){ //while(ture)

c2=1; // 设定自己要进港

//判断对方是否要进港

while(C1==1){

if(turn==1){ //如果不是自己的tun

c2=0; //撤销自己进港

while(turn==1); //spin lock 直到是自己的turn

c2=1; //轮到turn=1后,设定自己要进港

}

}

landingConOffice("Ranger");//这里是进港的程序

c2=0;

turn=1; //释放自己的资源

}

}

}

// 进港程序,用method来描述,传输一个飞船名字作为参数

public static void landingConOffice(String name) { // landing controll office的动作,critical section 那部分

System.out.println(name+" is granted permission to land.");

System.out.println(name+" call the ball!");

System.out.println(name+", permission is granted for final approach.")

}

展开

java飞机场模拟程序_一个java程序模拟race condition的程序 用飞机进港来模拟 自己写了一部分...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。