• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Java创建线程的两种方式

java 搞代码 4年前 (2022-01-05) 107次浏览 已收录 0个评论

这篇文章主要介绍了Java创建线程的两种方式,针对Java创建线程的两种方式进行比较,感兴趣的小伙伴们可以参考一下

前言

多线程是我们开发过程中经常遇到的,也是必不可少需要掌握的。当我们知道需要进行多线程开发时首先需要知道的自然是如何实现多线程,也就是我们应该如何创建线程。

在Java中创建线程和创建普通的类的对象操作是一样的,我们可以通过两种方式来创建线程:

1、继承Thread类,并重写run()方法。
2、实现Runnable接口,并实现run()方法。

方法一:继承Thread类

代码非常简单

首先重载一个构造函数,以便我们可以给线程命名。
重写run()方法。
这里我们先让线程输出线程名+start。
然后每5ms输出线程名+一个递增数。

 /** * Created by holten.gao on 2016/10/17. */ public class threadThread extends Thread { public threadThread(String name) { super(name); } @Override public void run() { System.out.println(this.getName()+" start!"); for(int i=0;i<10;i++){ System.out.println(this.getName()+" "+i); try { Thread.sleep(5); } catch (InterruptedException e) { e.printStackTrace(); } } } } 

方法二:实现Runnable接口

代码也非常简单

实现run()方法。
这里我们先让线程输出线程名+start。
然后每5ms输出线程名+一个递增数。

 /** * Created by holten.gao on 2016/10/17. */ public class runnableThread implements Runnable { @Override public void run() { System.out.println(Thread.currentThread().getName()+" start!"); for(int i=0;i<10;i++){ System.out.println(Thread.currentThread().getName()+" "+i); try { Thread.sleep(5); } catch (InterruptedException e) { e.printStackTrace(); } } } } 

测试结果

测试代码

 /** * Created by holten.gao on 2016/10/17. */ public class Main { public static void main(String[] args) { Thread threadThread=new threadThread("threadThread"); threadThread.start(); Thread runnableThread=new Thread(new runnableThread(),"runnableThread"); runnableThread.start(); } } 

测试结果

 threadThread start! threadThread 0 runnableThread start! runnableThread 0 threadThread 1 runnableThread 1 threadThread 2 runnableThread 2 threadThread 3 runnableThread 3 threadThread 4 runnableThread 4 threadThread 5 runnableThread 5 threadThread 6 runnableThread 6 threadThread 7 runnableThread 7 threadThread 8 runnableThread 8 threadThread 9 runnableThread 9 

两种方法比较

1.因为Java只支持单继承,所以使用方法一就不能再继承其他类了;而方法二实现接口则不会影响继承其他类。
2.方法一由于是继承Thread,所以直接new出来就可以start;而方法二需要将对象作为参数传入Thread对象才能得到Thread对象。
3.方法一中可以直接通过this.getName获得线程名;而方法二需要Thread.currentThread().getName()获得

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持g来源gaodai#ma#com搞*!代#%^码网aodaima搞代码网

以上就是Java创建线程的两种方式的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Java创建线程的两种方式

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址