Java基本多线程
示例
如果要执行的任务很多,并且所有这些任务都不依赖于先前任务的结果,则可以对计算机使用多线程处理,同时使用更多处理器来同时执行所有这些任务。如果您有一些大的独立任务,这可以使程序执行更快。
class CountAndPrint implements Runnable {
private final String name;
CountAndPrint(String name) {
this.name= name;
}
/** This is what a CountAndPrint will do */
@Override
public void run() {
for (int i = 0; i < 10000; i++) {
System.out.println(this.name + ": " + i);
}
}
public static void main(String[] args) {
//启动4个并行线程
for (int i = 1; i <= 4; i++) {
//start方法将调用run方法
//CountAndPrint在另一个线程中
new Thread(new CountAndPrint("Instance " + i)).start();
}
//在主线程中执行其他一些任务
for (int i = 0; i < 10000; i++) {
System.out.println("Main: " + i);
}
}
}各种CountAndPrint实例的run方法的代码将以不可预测的顺序执行。示例执行的代码段可能如下所示:
Instance 4: 1 Instance 2: 1 Instance 4: 2 Instance 1: 1 Instance 1: 2 Main: 1 Instance 4: 3 Main: 2 Instance 3: 1 Instance 4: 4 ...