public class MyThread extends Thread{//继承Thread类
//重写run方法
public void run(){
}
}
public class Test{
public static void main(String[] args){
new MyThread().start();//创建并启动线程
}
}
public class MyThread2 implements Runnable {//实现Runnable接口
//重写run方法
public void run(){
}
}
public class Test{
public static void main(String[] args){
//创建并启动线程
MyThread2 myThread=new MyThread2();
Thread thread=new Thread(myThread);
thread().start();
}
}
public class Test{
public static void main(String[] args){
MyThread3 th=new MyThread3();
FutureTask<Integer> future=new FutureTask<Integer>(
(Callable<Integer>)()->{
return 10;
}
);
new Thread(task,"线程1").start();//实质上还是以Callable对象来创建并启动线程
try{
System.out.println("返回值:"+future.get());//get方法会阻塞,直到子线程执行结束才返回
}catch(Exception e){
ex.printStackTrace();
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |