实现线程的方式3:
1.自定义线程类,实现Callable接口;
2.重写里面的call()方法;
3.启动线程:
1).获取一个线程池;
2).调用线程池submit()方法执行;
创建类:
- public class MyCallable implements Callable {
- @Override
- public Object call() throws Exception {
- System.out.println("我是线程");
- return null;
- }
- }
复制代码 下面是main方法:
- public static void main(String[] args) {
- //1.获取一个线程池
- ExecutorService service = Executors.newFixedThreadPool(2);
- //2.调用submit()方法启动线程
- service.submit(new MyCallable());
- //关闭线程池
- service.shutdown();
- }
复制代码
线程池的优点:
1).它可以将一些线程对象缓存起来;
2).当再次需要这些线程时,直接从线程池中取出,并执行即可。不需要重新构造;
3).这样的话,对于一些"构造很复杂"的线程用起来就非常的方便;
|
|