Lab Java
Lab Java
MultiThreadVote.java-
import elections.Vote;
import elections.count;
import java.util.Vector;
Vector votevec = new Vector(240); // creating a vote array for 240 votes
a.start();
Vote b = new Vote(2, votevec);
b.start();
c.start();
try{
a.join();
b.join();
c.join();
}catch(Exception e){System.out.println(e);}
ac.start();
bc.start();
cc.start();
try{
ac.join();
bc.join();
cc.join();
}catch(Exception e){System.out.println(e);}
int av = ac.count;
int bv = bc.count;
int cv = cc.count;
if(av == bv || av == cv)
System.out.println("Tie in elections!");
else
if(av == bv || bv == cv)
System.out.println("Tie in elections!");
else
}
else if(cv >= av && cv >= bv){
if(cv == bv || cv == av)
System.out.println("Tie in elections!");
else
Vote.java-
package elections;
import java.util.Random;
import java.util.Vector;
int v, s;
Vector vec;
this.v = v;
this.vec = vec;
}
try
vec.add(v);
Thread.sleep(s);
catch(InterruptedException e)
}
Count.java-
package elections;
/**
* @author batch1
*/
import java.util.Vector;
Vector vec;
int k, i;
this.k = k;
this.vec = vec;
@Override
try{
if(vec.elementAt(i).equals(k))
count++;
}
catch(Exception e){
System.out.println(e);
Output-
Counting has ended!
elections.Vote Vector:
[3, 2, 1, 1, 2, 3, 3, 2, 1, 2, 1, 3, 2, 1, 1, 2, 3, 2, 1, 2, 3, 2, 3, 1, 1, 2, 3, 1, 2, 1, 3, 2, 1, 1, 3, 2, 1, 3, 2, 1, 1, 3, 2,
3, 1, 3, 1, 2, 3, 1, 2, 1, 2, 1, 3, 1, 2, 3, 2, 1, 2, 3, 1, 2, 3, 2, 1, 3, 2, 3, 1, 3, 3, 2, 1, 3, 1, 2, 2, 1, 3, 2, 2, 1, 2, 3,
2, 3, 1, 2, 3, 1, 2, 3, 2, 1, 3, 1, 2, 3, 2, 1, 3, 1, 3, 2, 1, 2, 1, 3, 3, 2, 1, 3, 1, 2, 3, 3, 1, 2, 1, 2, 3, 1, 3, 2, 1, 3, 1,
2, 2, 3, 1, 3, 2, 1, 3, 2, 3, 2, 1, 3, 2, 1, 3, 2, 3, 1, 2, 3, 2, 3, 1, 1, 2, 3, 2, 1, 2, 1, 2, 3, 2, 3, 1, 2, 1, 3, 1, 2, 3, 2,
2, 1, 1, 3, 1, 2, 2, 3, 1, 2, 1, 3, 2, 3, 2, 1, 3, 1, 2, 1, 3, 1, 3, 1, 2, 3, 1, 3, 2, 1, 2, 3, 2, 3, 1, 3, 2, 3, 1, 1, 2, 3, 2,
1, 3, 2, 1, 2, 3, 2, 3, 1, 2, 2, 3, 2, 1, 3, 1, 3, 1, 2, 3, 1, 2, 3, 1, 2]
80 votes for A
83 votes for B
77 votes for C