Java 多線程multiple thread

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
class MPthread extends Thread {
String name;
public MPthread(String name){
this.name=name;
}
public void run() {
System.out.println(this.name);
}
}

public class MPI{
public static void main(String[] argv){
int np;
int i;
np = Integer.parseInt(argv[0]);
MPthread [] Ths;
Ths = new MPthread[np];
for(i=0; i<np; i++){
Ths[i] = new MPthread("Thread name: "+i);
Ths[i].start();
}
try{
for(i=0; i<np; i++) Ths[i].join();
}catch(InterruptedException e){
System.out.println("Suspend");
}
System.out.println("Done!");
}
}

結果為

1
2
3
4
5
6
7
8
9
10
11
>> java MPI 8

Thread name: 2
Thread name: 1
Thread name: 3
Thread name: 5
Thread name: 4
Thread name: 0
Thread name: 6
Thread name: 7
Done!