标签:实例 main tor live 超时 创建 end 线程的生命周期 ted
1 public static void main(String[] args) { 2 MyThread myThread = new MyThread();// 一个实现了Runnable接口的类 3 Thread t = new Thread(myThread);// 声明一个线程 4 t.start();// 启动线程 5 } 6 7 public class MyThread implements Runnable { 8 @Override 9 public void run() {// 启动线程后执行的方法 10 System.out.print("run the \"run()\" method!"); 11 } 12 }
1 public static void main(String[] args) { 2 MyThread myThread = new MyThread();// 一个继承了Thread类的类 3 myThread.start();// 启动线程 4 } 5 6 public class extends Thread { 7 @Override 8 public void run() {// 启动线程后执行的方法 9 System.out.print("run the \"run()\" method!"); 10 } 11 }
1 public static void main(String[] args) { 2 // 创建一个ExecutorService 3 ExecutorService executorService = 4 Executors.newCachedThreadPool(); 5 // new一个MyThread线程,并交给executorService执行, 6 // 通过Future接收返回结果 7 Future future = 8 executorService.submit(new MyThread()); 9 try { 10 // 从future中获取返回值 11 Object result = future.get(); 12 System.out.println(result.toString()); 13 } catch (Exception e) { 14 e.printStackTrace(); 15 } 16 } 17 18 // 一个有返回值的线程 19 public class MyThread implements Callable { 20 @Override 21 public String call() { 22 System.out.print("run the \"call()\" method!"); 23 return "test"; 24 } 25 }
1 Runnable、Callable 接口和多线程的实现没有关系 2 接口的作用是约束行为,Runnable 接口的作用是指定一个协议, 规定所有继承这些接口的类都要有一个无参无返回值的方法 3 多线程的实现是由类来完成的 4 java 中所有的多线程最终都通过 Thread 类来实现, 线程的资源分配、线程启动这些工作都是在 start()方法中完成的, 严格来讲, 在 start0() 方法中完成的。start0() 是一个 native 方法, 并不是用 java 语言实现的。
标签:实例 main tor live 超时 创建 end 线程的生命周期 ted
原文地址:http://www.cnblogs.com/ios9/p/7473148.html