下面要给大家讲到的就是和java多线程相关的内容,那么具体来说要怎样才能够实现java多线程呢?一起通过下面的文章来了解一下吧。
具体来说实现java多线程可以有三种方式!
1、继承Thread来实现多线程
java提供了一个超类Thread给我们来extends,一旦继承了它,就可以通过override其中的run方法,来实现多线程,
代码:
import java.io.*; public class MyThread extends Thread { @Override public void run() { System.out.println(Thread.currentThread() .getName()); } public static void main(String[] args) throws IOException { Thread t1 = new MyThread(); Thread t2 = new MyThread(); t1.start(); t2.start(); } }
2、通过实现Runnable接口来实现
对于一些类来说,他们不可以继承Thread来实现多线程,因为Java规定同时只能继承一个超类,但是却可以同时实现多个接口,所以Runnable就更格外受欢迎。
具体代码:
import java.io.*; public class MyThread implements Runnable { @Override public void run() { System.out.println(Thread.currentThread() .getName()); } public static void main(String[] args) throws IOException { Thread t1 = new Thread(new MyThread()); Thread t2 = new Thread(new MyThread()); t1.start(); t2.start(); } }
上面的这种的话是直接定义了类来实现Runnable方法,其实的话还能够变种为匿名内部类的方法来创建出一个Thread,下面是具体代码:
import java.io.*; public class MyThread { public static void main(String[] args) throws IOException { Thread t1 = new Thread(new Runnable() { @Override public void run() { System.out.println(Thread.currentThread() .getId()); } }); Thread t2 = new Thread(new Runnable() { @Override public void run() { System.out.println(Thread.currentThread() .getId()); } }); t1.start(); t2.start(); } }
3、通过Callable来实现一个Thread。
import java.util.concurrent.Callable; import java.util.concurrent.FutureTask; public class MyThread implements Callable { public static void main(String[] args) { MyThread t1 = new MyThread(); FutureTask future = new FutureTask(t1); new Thread(future, "呵呵哒") .start(); } @Override public Integer call() throws Exception { System.out.println(Thread.currentThread() .getName()); return null; } }
对于如何实现java多线程你都清楚了吗?更多java编程常见问题请继续来本站进行了解吧。
推荐阅读: