举例说明java中的runnable 接口实现线程,并启动线程的方法.
2个回答
展开全部
public class RunnableDemo {
public static void main(String[] args) throws Exception {
long statTime = System.currentTimeMillis();
SimpleRunnable runnable1 = new SimpleRunnable();
SimpleRunnable runnable2 = new SimpleRunnable();
// 每个 Thread(线程)可以接受一个 Runnable 的实现类做参数
// 线程启动时会去运行你实现的 run() 方法
Thread thread1 = new Thread(runnable1);
Thread thread2 = new Thread(runnable2);
thread1.start(); // 启动线程1
thread2.start(); // 启动线程2
thread1.join(); // 等待线程1运行结束
thread2.join(); // 等待线程2运行结束
long endTime = System.currentTimeMillis();
double time = (endTime - statTime) / 1000.0;
System.out.println("程序运行时间: " + time + " 秒");
// 每个任务运行时间都应该是 2 秒,但是因为你每个任务都用了一个线程去运行
// 所以这两个线程是同时(并发)进行的,所以这个程序只需要 2 秒左右就可以结束
}
}
// 写一个实现 Runnable 接口的类,并实现 run() 方法
class SimpleRunnable implements Runnable {
@Override
public void run() {
runTask(); // 运行你的任务
}
private void runTask() {
try {
Thread.sleep(2000); // 假设你的任务需要两秒完成
} catch (InterruptedException ex) {
ex.printStackTrace(System.err);
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询