问题
使用线程池创建多线程。模拟同学找老师学习Java。
-
创建线程池对象,包含2个线程。从线程池中获取线程对象,然后调用MyRunnable中的run();
-
MyRunnable类实现了Runnable接口,首先在控制台打印需求,“我需要一个老师”。模拟需要2秒钟时间老师可以过来指导学生,并在控制台打印老师的姓名。最后,在控制台打印“教我java,教完后,老师回到了办公室”;
项目截图
代码
package com.wang;
public class MyRunnable implements Runnable {
@Override
public void run() {
System.out.println("我需要一个老师");
try {
// 模拟需要2秒钟时间老师可以过来指导学生
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("教我java,教完后,老师回到了办公室");
}
}
package com.wang;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class main {
public static void main(String[] args) {
// 创建线程池对象
ExecutorService service = Executors.newFixedThreadPool(2);//包含2个线程对象
// 创建Runnable实例对象
MyRunnable r = new MyRunnable();
// 从线程池中获取线程对象,然后调用MyRunnable中的run()
service.submit(r);
service.submit(r);
service.shutdown();
}
}