publicclassThreadDemo01{//使用内部类实现Runnablepublicstaticvoidmain(String[] args){Thread t1 =newThread(newRunnable(){@Overridepublicvoidrun(){for(int i =0; i <100; i++){System.out.println(Thread.currentThread().getName()+":"+i);}}});Thread t2 =newThread(newRunnable(){@Overridepublicvoidrun(){for(int i =0; i <100; i++){System.out.println(Thread.currentThread().getName()+":"+i);}}});
t1.start();
t2.start();}}
publicclassThreadDemo02{//继承Thread的方式publicstaticvoidmain(String[] args){
prints p1 =newprints();
prints p2 =newprints();
p1.start();
p2.start();}}class prints extendsThread{@Overridepublicvoidrun(){for(int i =0; i <100; i++){System.out.println(Thread.currentThread().getName()+":"+i);}}}
importjava.util.concurrent.Callable;importjava.util.concurrent.FutureTask;publicclassThreadDemo03{//实现Callable 接口的方式publicstaticvoidmain(String[] args){Out o =newOut();FutureTask<Integer> task =newFutureTask<Integer>(o);FutureTask<Integer> task2 =newFutureTask<Integer>(o);Thread t1 =newThread(task);Thread t2 =newThread(task2);
t1.start();
t2.start();}}classOutimplementsCallable<Integer>{@OverridepublicIntegercall()throwsException{int sum =0;for(int i =0; i <=100; i++){if(i%2==0){
sum+=i;}System.out.println(Thread.currentThread().getName()+"当前之和是:"+sum);}System.out.println(Thread.currentThread().getName()+"0到100的偶数之和是"+sum);return sum;}}