class MyThread implements Runnable{
private String title;
public MyThread(String title) {//线程主体类
this.title = title;
}
public void run(){//所有线程从此处开始
for(int i = 0;i<10;i++){
System.out.println(this.title+",i =" +i);
}
}
}
public class Test{
public static void main(String[] args) {
MyThread myThread = new MyThread("张三");
MyThread myThread1 = new MyThread("李四");
MyThread myThread2 = new MyThread("王一");
new Thread(myThread).start();
new Thread(myThread1).start();
new Thread(myThread2).start();
}
}
class MyThread implements Callable<String>{
private int ticket = 10;
public String call() throws Exception{
while(this.ticket > 0){
System.out.println("剩余票数:"+this.ticket--);
}
return "票买完了。";
}
}
不管何种情况,如果要启动多线程,只有Thread类中的start()方法
而启动并取得多线程的执行结果
public class Test{
public static void main(String[] args)throws InterruptedException,ExecutionException {
FutureTask<String> task = new FutureTask<>(new MyThread());
new Thread(task).start();
new Thread(task).start();
System.out.println(task.get());
}
}