39-案例实现
案例实现
根据如下步骤来实现本案例。
1.创建 Task
类,该类实现了 Runnable
接口。实现 run()
方法以在100s内连续输出信息到控制台中:
public class Task implements Runnable {
@Override
public void run() {
Date start, end;
start = new Date();
do {
System.out.printf("%s: tick\n",
Thread.currentThread().getName());
end = new Date();
} while (end.getTime() - start.getTime() < 100000);
}
}
2.在 Main
类中实现 main()
方法,在该方法中创建10个线程,并由这10个线程分别执行10个任务。任务全部启动后,在主线程中用 join()
方法等待所有其他线程执行完成:
public class Main {
public static void main(String[] args) {
Thread[] threads = new Thread[10];
for (int i=0; i<10; i++) {
Task task=new Task();
threads[i]=new Thread(task);
threads[i].start();
}
for (int i=0; i<10; i++) {
try {
threads[i].join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
3.开启控制台窗口,并执行JConsole应用。该应用内置在JDK-9安装目录下的bin目录中。