2 public static void main(String[] args) {
9 Query[] currentWorkList;
11 NUM_THREADS = Integer.parseInt(args[0]);
12 GlobalString firstmachine;
13 GlobalString firstpage;
15 // int[] mid = getMID(NUM_THREADS);
16 int mid[] = new int[NUM_THREADS];
17 /* mid[0] = (128<<24)|(195<<16)|(180<<8)|21; //dc-4
18 mid[1] = (128<<24)|(195<<16)|(180<<8)|24; //dc-5
19 mid[2] = (128<<24)|(195<<16)|(180<<8)|26; //dc-6
21 mid[0] = (128<<24)|(195<<16)|(136<<8)|162; //dc-1
22 mid[1] = (128<<24)|(195<<16)|(136<<8)|163; //dc-2
23 mid[2] = (128<<24)|(195<<16)|(136<<8)|164; //dc-3
24 mid[3] = (128<<24)|(195<<16)|(136<<8)|165; //dc-3
27 firstmachine = global new GlobalString(args[1]);
28 firstpage = global new GlobalString(args[2]);
30 works = global new Work[NUM_THREADS];
31 qt = global new QueryThread[NUM_THREADS];
32 currentWorkList = global new Query[NUM_THREADS];
34 Query firstquery = global new Query(firstmachine, firstpage, 0);
36 Queue todoList = global new Queue();
37 Queue doneList = global new Queue();
38 todoList.push(firstquery);
40 for (i = 0; i < NUM_THREADS; i++) {
41 qt[i] = global new QueryThread(todoList, doneList, maxDepth, searchDepth);
42 works[i] = global new Work(qt[i], NUM_THREADS, i, currentWorkList);
45 System.printString("Finished to create Objects\n");
48 for (i = 0; i < NUM_THREADS; i++) {
52 Thread.myStart(tmp, mid[i]);
55 for (i = 0; i < NUM_THREADS; i++) {
63 public static int[] getMID (int num_threads) {
64 int[] mid = new int[num_threads];
66 FileInputStream ifs = new FileInputStream("dstm.conf");
73 for (int i = 0; i < num_threads; i++) {
80 endIndex = str.indexOf('.', fromIndex);
81 sub = str.subString(fromIndex, endIndex);
82 num += (Integer.parseInt(sub) << 24);
84 fromIndex = endIndex + 1;
85 endIndex = str.indexOf('.', fromIndex);
86 sub = str.subString(fromIndex, endIndex);
87 num += (Integer.parseInt(sub) << 16);
89 fromIndex = endIndex + 1;
90 endIndex = str.indexOf('.', fromIndex);
91 sub = str.subString(fromIndex, endIndex);
92 num += (Integer.parseInt(sub) << 8);
94 fromIndex = endIndex + 1;
95 sub = str.subString(fromIndex);
96 num += Integer.parseInt(sub);