Here we give the sample for resource allocation to processor.Its process based on resource execution time.
import java.io.*;
import java.util.Random;
/**
*
* @author RajBharath
*/
public class ResourceAllocation
{
int job[]=null,process[]=null;
int pointer=0;
ResourceAllocation()
{
String str="";
int n,n1,i;
Random randomGenerator = new Random();
//--------------Resource Allocation
BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the number of Resource : ");
try
{
str = buffer.readLine();
}
catch(Exception e){}
n = Integer.parseInt(str);
job = new int[n];
System.out.println("Each Resource Execution Time Randomly generated");
System.out.println("-----------------------");
for(i = 0;i<n;i++)
{
int randomInt = 1 + randomGenerator.nextInt(10);
job[i] = randomInt;
System.out.println(" Job - "+(i+1)+" : "+randomInt);
}
//--------------Processor Allocation
System.out.println("Enter the number of processor : ");
try
{
str = buffer.readLine();
}
catch(Exception e)
{
}
n1 = Integer.parseInt(str);
//--------------Tread Allocation
for (i=0;i<n1;i++)
{
try
{
ThreadClass thread1 = new ThreadClass(job[pointer],n,n1,i);
thread1.start();
pointer++;
}
catch(Exception e)
{
}
}
}
class ThreadClass extends Thread
{
String message;
int n,n1,job1,i;
//int pointer;
ThreadClass(int job,int n,int n1,int i)
{
this.job1=job;
//this.pointer=pointer;
this.n=n-1;
this.n1=n1-1;
this.i=i;
}
public void run()
{
while(true)
{
try
{
sleep(job1);
if (pointer>=n1)
{
System.out.println("processor="+ i +"--> job="+job1);
if (pointer>n)
{
break;
}
else
{
try
{
pointer++;
job1 = job[pointer];
this.start();
}
catch(Exception e){}
}
}
}
catch(Exception e)
{
System.out.print("Thread Error");
}
}
}
}
public static void main(String arg[]) throws Exception
{
new ResourceAllocation();
}
}
No comments:
Post a Comment