这篇文章主要为大家展示了Java如何实现开启新线程并传参,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。
<强>一、继承线程类强>
步骤:
1):定义一个类一个继承于Java.lang.Thread类。
2):在一个类中覆盖线程类中运行的方法。
3):我们在运行方法中编写需要执行的操作:运行方法里的代码,线程执行体。
4):在主方法(线程)中,创建线程对象,并启动线程:
(1)创建线程类对象:一个类=new类();
(2)调用线程对象的开始方法:a.start();//启动一个线程
注意:千万不要调用运行方法,如果调用运行方法好比是对象调用方法,依然还是只有一个线程,并没有开启新的线程。
线程只能启动一次!
创建启动线程实例:
//1):定义一个类一个继承于java.lang.Thread类。 类MusicThread扩展线程{ 私人字符串idNum; 公共MusicThread(字符串idNum) { 这一点。idNum=idNum; }//2):在一个类中覆盖线程类中运行的方法。 公共空间run () {//3):在运行方法中编写需要执行的操作 System.out.println (idNum); } } 公开课ExtendsThreadDemo { 公共静态void main (String [] args) {//4):在主方法(线程)中,创建线程对象,并启动线程。 MusicThread音乐=new MusicThread (“123456”); music.start (); } }
<强>二,实现运行的接口强>
步骤:
1):定义一个类一个实现于java.lang.Runnable接口,注意一个类不是线程类。
2):在一个类中覆盖Runnable接口中运行的方法。
3):我们在运行方法中编写需要执行的操作:运行方法里的,线程执行体。
4):在主方法(线程)中,创建线程对象,并启动线程:
(1)创建线程类对象:线程t=新线程(新());
(2)调用线程对象的开始方法:t.start ();
创建启动线程实例:
//1):定义一个类一个实现于java.lang.Runnable接口,注意一个类不是线程类。 类MusicImplements实现Runnable { 私人字符串idNum; 公共空间setId(字符串idNum) { 这一点。idNum=idNum; }//2):在一个类中覆盖Runnable接口中运行的方法。 公共空间run () {//3):在运行方法中编写需要执行的操作 System.out.println (idNum); } } 公开课ImplementsRunnableDemo { 公共静态void main (String [] args) {//4):在主方法(线程)中,创建线程对象,并启动线程 MusicImplements mi=new MusicImplements (); mi.setId (“123456”); 线程t=新线程(mi); t.start (); } }
继承方式和实现方式的区别:
继承方式:
1):从设计上分析,Java中类是单继承的,如果继承了线程了,该类就不能再有其他的直接父类了。
2):从操作上分析,继承方式更简单,获取线程名字也简单。(操作上,更简单)
字符串名称=Thread.currentThread () . getname ();
3):从多线程共享同一个资源上分析,继承方式不能做的到。
实现方式:
1):从设计上分析,Java中类可以多实现接口,此时该类还可以继承其他类,并且还可以实现其他接口,设计更为合理。
2):从操作上分析,实现方式稍微复杂点,获取线程名字也比较复杂,得使用Thread.currentThread()来获取当前线程的引用。
3):从多线程共享同一个资源上分析,实现方式可以做到(是否共享同一个资源)。
以上就是关于Java如何实现开启新线程并传参的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看的到。