java实现线程的方法

来源:互联网 发布:螺栓连接计算软件 编辑:程序博客网 时间:2024/06/03 06:17

1. 继承Thread

        Thread thread1 = new Thread(){            @Override            public void run() {                System.out.println("子线程"+new Date().getTime());            }        };        thread1.start();        System.out.println("结束!");//        结束!//        子线程1511245859986


2.实现Runnable接口

  Runnable runnable = new Runnable() {            @Override            public void run() {                System.out.println("子线程:"+new Date().getTime());            }        };        new Thread(runnable).start();        System.out.println("结束!!!");

3. 实现Callable

public class MyCallable implements Callable<Long> {    @Override    public Long call() throws Exception {        Thread.sleep(2000);        return new Date().getTime();    }}public void  test1(){        ExecutorService pool = Executors.newFixedThreadPool(15);        List<Future<Long>> results = new ArrayList<Future<Long>>();        MyCallable myCallable = new MyCallable();        for(int i=0;i<12;i++ ){            results.add(pool.submit(myCallable));        }        pool.shutdown();        for(Future future:results){            try {                Long times = (Long) future.get();                Date date = new Date(times);                SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");                System.out.println("  "+ simpleDateFormat.format(date));            } catch (InterruptedException e) {                e.printStackTrace();            } catch (ExecutionException e) {                e.printStackTrace();            }        }    }
 1)