匿名内部类线程
1.继承Thread方法
//创建线程任务和线程对象
new Thread(){
public void run(){
for(){
sysout(Thread.currentThread.getName())
} } }.start()
2.实现Runnable接口的方法
//创建线程任务
Runnable r=new Runnable(){
public void run(){
for(){
sysout(Thread.currentThread.getName())
} } }
//创建线程对象
Thread t=new Thread(r)
t.start()
线程池:Runnable接口和Callable接口
Runnable:没有返回值
//创建线程池
ExecutorService es=Executors.newFixedThreadPool(2);
es.submit(new MyRunnable()) //新建MyRunnable类实现Runnable接口,并重写run方法
Callable:可抛异常,有返回值
MyCallable实现Callable接口
public class MyCallable implements Callable<泛型>{
private double a;
//处理传值并得到返回值
public get(double a){
this.a=a;}
//重写call方法
public Double call() throws Exception{
return a;} }
//创建线程任务
MYCallable mc=new MYCallable();
//创建线程池
ExecutorService es=Executors.newFixedThreadPool(2);
//用Future<泛型>接返回值
Future<String> f=es.submit(mc);