- mdRunner[] thobjects;
- Barrier br;
- thobjects = new mdRunner[numthreads];
- br= new Barrier(numthreads);
-
- int[] mid = new int[2];
- mid[0] = (128<<24)|(195<<16)|(175<<8)|73;
- mid[1] = (128<<24)|(195<<16)|(175<<8)|69;
- mdRunner tmp;
-
- for(int i=1;i<numthreads;i++) {
- thobjects[i] = new mdRunner(i,mold.mm,sh_force,sh_force2,br,mold.nthreads,mold);
- tmp = thobjects[i];
- //System.printString("Starting thread "+ i + "\n");
- tmp.start();
- }
- //System.printString("Finished starting rest threads\n");
-
- thobjects[0] = new mdRunner(0,mold.mm,sh_force,sh_force2,br,mold.nthreads,mold);
- tmp = thobjects[0];
- //System.printString("Starting thread 0\n");
- tmp.start();
- tmp.join();
- //System.printString("Finishing start\n");
-
- for(int i=1;i<numthreads;i++) {
- //System.printString("Joining thread "+ i + "\n");
- tmp = thobjects[i];
- tmp.join();
- }
- //System.printString("Finished joining all threads\n");
- }
+ MDWrap[] thobjects = new MDWrap[numthreads];
+
+ for(int i=0;i<numthreads;i++) {
+ thobjects[i] = new MDWrap(new mdRunner(i,mold.mm,sh_force,sh_force2,mold.nthreads,mold));
+ }
+
+ /*
+ boolean waitfordone=true;
+ while(waitfordone) {
+ if (mybarr.done)
+ waitfordone=false;
+ }
+ */
+
+ for(int i=0;i<numthreads;i++) {
+ //thobjects[i].md.start(mid[i]);
+ thobjects[i].md.run();
+ }
+ }