實現(xiàn)Runable
public static class Thread1 implements Runnable{
@Override
public void run() {
System.out.println("thread1 運行......");
}
}
運行:
public static void main(String[] args) {
Thread thread1 = new Thread(new Thread1());
thread1.start();
}
繼承Thread
public static class Thread2 extends Thread{
public void run() {
System.out.println("thread2 運行......");
System.out.println(Thread.currentThread().getName());
}
}
運行:
public static void main(String[] args) {
Thread thread2 = new Thread2();
thread2.setName("Thread_Name_2");
thread2.start();
}
實現(xiàn)Callable
public static class Thread3 implements Callable<Object>{
@Override
public Object call() throws Exception {
return "Helloword";
}
}
運行:
public static void main(String[] args) throws InterruptedException, ExecutionException, TimeoutException {
ExecutorService executor = Executors.newFixedThreadPool(2);
// 方式一
FutureTask<Object> futureTask = new FutureTask<Object>(new Thread3());
executor.execute(futureTask);
Object object = futureTask.get(5, TimeUnit.SECONDS);
System.out.println(object.toString());
//或者方式二
Future<?> submit = executor.submit(new Thread3());
Object object2 = submit.get(5, TimeUnit.SECONDS);
System.out.println(object2.toString());
}