实现多线程的四种方式
1.实现Runnable接口,重写run方法
2.继承Thread类,重写run方法,Thread类也是实现了Runnable接口
3. 实现callable接口,重写call方法,有返回值
4.使用线程池
submit方法返回带有返回值
execute方法没有返回值
private ThreadPoolExecutor poolExecutor = new ThreadPoolExecutor(
1, 1, 1L, TimeUnit.SECONDS,
new ArrayBlockingQueue<>(2),
new ThreadPoolExecutor.DiscardOldestPolicy());
也可以通过Executors类来创建线程,提供了一系列工厂方法用于创建线程池,返回的线程池都实现了ExecutorService接口。