java创建线程的方式有几种?

Python014

java创建线程的方式有几种?,第1张

java创建线程的方式有三种\x0d\x0a第一种是继承Thread类 实现方法run() 不可以抛异常 无返回值\x0d\x0a第二种是实现Runnable接口 实现方法run() 不可以抛异常 无返回值\x0d\x0a第三种是实现Callable接口,接口中要覆盖的方法是 public call() 注意:此方法可以抛异常,而前两种不能 而且此方法可以有返回值\x0d\x0a\x0d\x0a第三种如何运行呢 Callable接口在util.concurrent包中,由线程池提交\x0d\x0aimport java.util.concurrent.*\x0d\x0aExecutorService e = Executors.newFixedThreadPool(10)参数表示最多可以运行几个线程\x0d\x0ae.submit()这个里面参数传 实现Callable接口那个类的对象

java中实现一个线程的方法:

基本的是两种:

第一种是继承Tread class:

class PrimeThread extends Thread { long minPrimePrimeThread(long minPrime) { this.minPrime = minPrime} public void run() { // compute primes larger than minPrime . . . } }

在main里:

PrimeThread p = new PrimeThread(143)p.start()

还有就一种是implements Runnable:

public class HelloRunnable implements Runnable { public void run() { System.out.println("Hello from a thread!")} public static void main(String args[]) { (new Thread(new HelloRunnable())).start()}}

同样用 xxx.start() 可以运行这个线程

这是基本的,还有就是管理一群线程(threads pool),可以用executor以及executor service, 以上信息都可以在oracle网找到很多例子

java中多线程的实现方式有两种,一种是继承java.lang.Thread类,另一种是实现java.lang.Runnable接口。下面是两种方式的简单代码。继承Thread类方式:import java.lang.Thread//用集成Thread类方式实现多线程。 public class Test{ public static void main(String arg[]){ T t1=new T()T t2=new T()//更改新线程名称 t1.setName("t1")t2.setName("t2")//启动线程 t1.start()t2.start()} } class T extends Thread{ //重写run()方法 public void run(){ System.out.println(this.getName())} }输出结果为:t1t2实现Runnable接口方式:在使用Runnable接口时需要建立一个Thread实例。因此,无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例。import java.lang.*//用实现Runnable接口的方式实现多线程。 public class Test{ public static void main(String arg[]){ T t1=new T()T t2=new T()//一定要实例化Thread对象,将实现Runnable接口的对象作为参数传入。 Thread th1=new Thread(t1,"t1")Thread th2=new Thread(t2,"t2")//启动线程 th1.start()th2.start()} } class T implements Runnable{ //重写run()方法 public void run(){ System.out.println(Thread.currentThread().getName())} }输出结果为:t1t2public void run()方法是JAVA中线程的执行体方法,所有线程的操作都是从run方法开始,有点类似于main()方法,即主线程。