一 继承Thread类//package learn;/** * author liqi * date 2026/8/5 14:56 * description */publicclassThreadDemo{publicstaticvoidmain(String[]args){Mythreadt1newMythread();t1.start();}}packagelearn;/** * author liqi * date 2026/8/5 14:52 * description */publicclassMythreadextendsThread{//重写run方法publicvoidrun(){for(inti0;i100;i){System.out.println(hello world);}}}二 Runnable接口的方式进行实现packagelearn;/** * author liqi * date 2026/8/5 14:56 * description */publicclassThreadDemo{publicstaticvoidmain(String[]args){MyRunmrnewMyRun();Threadt2newThread(mr);t2.start();}}packagelearn;/** * author liqi * date 2026/8/5 14:52 * description */publicclassMythreadextendsThread{//重写run方法publicvoidrun(){for(inti0;i100;i){System.out.println(hello world);}}}三 利用Callable接口和Future接口方式进行实现packagelearn;importjava.util.concurrent.Callable;/** * author liqi * date 2026/8/5 15:10 * description */publicclassMyCallableimplementsCallableInteger{OverridepublicIntegercall()throwsException{intsum0;for(inti0;i100;i){sum;}returnsum;}}packagelearn;importjava.awt.*;importjava.util.concurrent.ExecutionException;importjava.util.concurrent.FutureTask;/** * author liqi * date 2026/8/5 14:56 * description */publicclassThreadDemo{publicstaticvoidmain(String[]args)throwsExecutionException,InterruptedException{MyCallablemcnewMyCallable();FutureTaskIntegerftnewFutureTask(mc);Threadt1newThread(ft);Integerresultft.get();}}四1.Thread的优缺点优点编程简单缺点扩展性较差不能继承其他类2.Runnable与Callable的优缺点优点扩展性强实现该接口同时还可继承其他类缺点编程复杂