如果要执行的任务很多,并且所有这些任务都不依赖于先前任务的结果,则可以对计算机使用多线程处理,同时使用更多处理器来同时执行所有这些任务。如果您有一些大的独立任务,这可以使程序执行更快。
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 ...