//定义一个可运行的类publicclassMyRunnableimplementsRunnable{publicvoidrun(){}}//创建线程对象Thread t =newThread(newMyRunnable());//启动线程
t.start();
注意:第二种方式实现接口比较常用,因为一个类实现了接口,它还可以去继承其他的类,更灵活
第三种:
实现Callable接口
优点:可以获取到线程的执行结果
缺点:效率比较低,在获取其他线程执行结果的时候,当前线程受阻塞,效率较低
FutureTask task =newFutureTask(newCallable(){publicObjectcall()throwsException{//call()方法就相当于run方法,只不过这个有返回值//线程执行一个任务,执行之后可能会有一个执行结果System.out.println("call method begin");Thread.sleep(1000*10);System.out.println("call method end");int a =100;int b =200;return a + b;//自动装箱(300结果变成Integer)}})