Monday, 29 July 2013

Java Code for Resource Allocation

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();

    }



}





Kindly Bookmark and Share it:

No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...