File: ThreadedUniQuery.java

package info (click to toggle)
jcifs 1.3.16-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 2,856 kB
  • sloc: java: 23,124; xml: 3,663; ansic: 386; sh: 170; makefile: 26
file content (50 lines) | stat: -rw-r--r-- 1,460 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import java.net.UnknownHostException;
import jcifs.*;

public class ThreadedUniQuery {

    static class QThread extends Thread {
        String name; 

        QThread( String name ) {
            super( name + "-thread" );
            this.name = name;
        }

        public void run() {
            try {
                System.out.println( getName() + ": started" );
                for( int i = 0; i < 15; i++ ) {
                    Thread.sleep( (long)(Math.random() * 1000L ));
                    try {
                        UniAddress.getByName( name, true );
                    } catch( UnknownHostException uhe ) {
                        uhe.printStackTrace();
                    }
                }
                System.out.println( getName() + ": done" );
            } catch( Exception x ) {
                x.printStackTrace();
            }
        }
    }

    public static void main(String[] argv) throws Exception {
        if( argv.length < 2 ) {
            System.out.println( "java ThreadedUniQuery name [name [name [...]]]" );
            return;
        }

        QThread[] t = new QThread[argv.length];
        for( int i = 0; i < argv.length; i++ ) {
            t[i] = new QThread( argv[i] );
        }
        for( int j = 0; j < argv.length; j++ ) {
            t[j].start();
        }
        for( int j = 0; j < argv.length; j++ ) {
            t[j].join();
        }
        Runtime.getRuntime().exit(0);
    }
}