java中如何启动一个新的线程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中如何启动一个新的线程相关的知识,希望对你有一定的参考价值。

参考技术A

java开启新线程的三种方法:

方法1:继承Thread类

1):定义一个继承自Java.lang.Thread类的类A.

2):覆盖A类Thread类中的run方法。

3):我们编写需要在run方法中执行的操作:run方法中的代码,线程执行体。

4):在main方法(线程)中,创建一个线程对象并启动线程。

(1)创建线程类对象:                

A类   a  =  new   A类();

(2)调用线程对象的start方法:    

a.start();//启动一个线程

注意:不要调用run方法。如果run方法被称为对象调用方法,则仍然只有一个线程,并且没有启动新线程。

创建启动线程实例:

方法2:实现Runnable接口

1):定义要在java.lang.Runnable接口中实现的类A.请注意,A类不是线程类。

2):覆盖A类Runnable接口中的run方法。

3):我们编写需要在run方法中执行的操作:在run方法中,线程执行。

4):在main方法(线程)中,创建一个线程对象并启动线程。

(1)创建线程类对象:

Thread  t = new Thread(new  A());    

(2)调用线程对象的start方法:

t.start();

代码实例:

方法3:直接在函数体使用

扩展资料:

启动新线程的两种方式对比

继承方式:

1):从设计上分析,Java中类是单继承的,如果继承了Thread了,该类就不能再有其他的直接父类了.

2):从操作上分析,继承方式更简单,获取线程名字也简单.(操作上,更简单)

3):从多线程共享同一个资源上分析,继承方式不能做到.

实现方式:

1):从设计上分析,Java中类可以多实现接口,此时该类还可以继承其他类,并且还可以实现其他接口,设计更为合理.

2):从操作上分析,实现方式稍微复杂点,获取线程名字也比较复杂,得使用Thread.currentThread()来获取当前线程的引用.

3):从多线程共享同一个资源上分析,实现方式可以做到(是否共享同一个资源).

补充:实现方式获取线程名字:

String name = Thread.currentThread().getName();



如何创建和启动一个线程

参考技术A

1、设计一个线程,产生三个线程对象,设置三个线程的休眠时间,10s,20s,30s。主要采用Thread类,Runable接口。

2、thread类是java.lang包中定义的,一个类只要继承Thread类,此类就是多线程操作类使用Threa类实现。

3、测试运行结果。

4、使用runnable接口实现,类中没有线程名称字段,所以建立一个name属性保存线程名称。

5、使用runnable接口,new Thread().start() 执行。

以上是关于java中如何启动一个新的线程的主要内容,如果未能解决你的问题,请参考以下文章

java如何检查执行的线程已卡死

多线程

如何让线程等待 JFrame 在 Java 中关闭?

如何验证线程中的命令是不是在Java中成功启动并且可以启动另一个线程?

如何创建和启动一个线程

java线程小结1