mybarr = global new BarrierServer(numThreads);
graph = BiGraph.create(em.numNodes, em.numDegree, numThreads);
}
+ mybarr.start(mid[1]);
+
Em3dWrap[] em3d=new Em3dWrap[numThreads];
int increment = em.numNodes/numThreads;
}
}
+ boolean waitfordone=true;
+ while(waitfordone) {
+ atomic {
+ if (mybarr.done)
+ waitfordone=false;
+ }
+ }
+
+
+
//TODO check if correct
//
- mybarr.start(mid[1]);
System.printString("Starting Barrier run\n");
for(int i = 0; i<numThreads; i++) {
em3d[i].em3d.start(mid[i]);
public class BarrierServer extends Thread {
int numthreads;
- int done;
+ boolean done;
public BarrierServer(int n) {
numthreads=n;
- done=0;
+ done=false;
}
public void run() {
ServerSocket ss=new ServerSocket(2000);
atomic {
n=numthreads;
- done=1;
+ done=true;
}
Socket ar[]=new Socket[n];
for(int i=0;i<n;i++) {