java启动线程的3种方式对比分析

网友投稿 185 2023-06-21


java启动线程的3种方式对比分析

本文实例为大家分享了java启动线程的方法,供大家参考,具体内容如下

1.继承Thread

public class java_thread extends Thread{

public static void main(String args[])

{

(new java_thread()).run();

System.out.println("main thread run ");

}

public synchronized void run()

{

System.out.println("sub thread run ");

}

}

2.实现Runnable接口

public class java_thread implements Runnable{

public static void main(String args[])

{

(new Thread(new java_thread())).start();

System.out.println("main thread run ");

}

public void run()

{

System.out.println("sub thread run ");

}

}

OrRthiG

3.直接在函数体使用

void java_thread()

{

Thread t = new Thread(new Runnable(){

public OrRthiGvoid run(){

mSoundPoolMap.put(index, mSoundPool.load(filePath, index));

getThis().LoadMediaComplete();

}});

t.start();

}

4.比较:

实现Runnable接口优势:

1)适合多个相同的程序代码的线程去处理同一个资源

2)可以避免Java中的单继承的限制

3)增加程序的健壮性,代码可以被多个线程共享,代码和数据独立。

继承Thread类优势:

1)可以将线程类抽象出来,当需要使用抽象工厂模式设计时。

2)多线程同步

在函数体使用优势

1)无需继承thread或者实现Runnable,缩小作用域。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:JAVA中String类与StringBuffer类的区别
下一篇:利用反射获取Java类中的静态变量名及变量值的简单实例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~