Java non transactional version for Em3d
[IRC.git] / Robust / src / Benchmarks / Prefetch / Em3d / javasingle / BarrierNonDSM.java
1 public class BarrierServer {
2   int numthreads;
3   boolean done;
4
5   public BarrierServer(int n) {
6     numthreads=n;
7     done=false;
8   }
9
10   public void run() {
11     int n;
12     ServerSocket ss=new ServerSocket(2000);
13     n=numthreads;
14     done=true;
15     Socket ar[]=new Socket[n];
16     for(int i=0; i<n; i++) {
17       ar[i]=ss.accept();
18     }
19
20     while(true) {
21       for(int j=0; j<n; j++) {
22         Socket s=ar[j];
23         byte b[]=new byte[1];
24         while(s.read(b)!=1) {
25           ;
26         }
27       }
28       byte b[]=new byte[1];
29       b[0]= (byte) 'A';
30       for(int j=0; j<n; j++)
31         ar[j].write(b);
32     }
33   }
34 }
35
36 public class Barrier {
37   Socket s;
38   public Barrier(String name) {
39     s=new Socket(name, 2000);
40   }
41
42   public static void enterBarrier(Barrier barr) {
43     byte b[]=new byte[1];
44     b[0]=(byte)'A';
45     barr.s.write(b);
46     while(barr.s.read(b)!=1) {
47       ;
48     }
49   }
50 }