博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 启动线程的方式
阅读量:4930 次
发布时间:2019-06-11

本文共 968 字,大约阅读时间需要 3 分钟。

面试题:JAVA启动线程的方式有哪些?

1.继承Thread

 

[java]
 
  1. public class java_thread extends Thread{  
  2.     public static void main(String args[])  
  3.     {  
  4.         (new java_thread()).run();  
  5.         System.out.println("main thread run ");  
  6.     }  
  7.     public synchronized  void run()  
  8.     {  
  9.         System.out.println("sub thread run ");  
  10.     }  
  11.   
  12. }  


2.实现Runnable接口

 

 

[cpp]
 
  1. public class java_thread implements Runnable{  
  2.     public static void main(String args[])  
  3.     {  
  4.         (new Thread(new java_thread())).start();  
  5.         System.out.println("main thread run ");  
  6.     }  
  7.     public void run()  
  8.     {  
  9.         System.out.println("sub thread run ");  
  10.     }  
  11.   
  12. }  


3.直接在函数体使用

 

 

[cpp]
 
  1. void java_thread()  
  2. {  
  3.   
  4.      Thread t = new Thread(new Runnable(){  
  5.             public void run(){  
  6.             mSoundPoolMap.put(index, mSoundPool.load(filePath, index));  
  7.             getThis().LoadMediaComplete();  
  8.             }});  
  9.         t.start();  
  10. }  


4.比较:

 

 

实现Runnable接口优势:

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

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

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

继承Thread类优势:

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

2)多线程同步

在函数体使用优势

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

转自:

 

转载于:https://www.cnblogs.com/tianyaxue/p/3149074.html

你可能感兴趣的文章
WF+WCF+WPF第二天--模拟超市收银
查看>>
爬取贴吧好看的桌面图片 -《狗嗨默示录》-
查看>>
Bellman-Ford
查看>>
[转]这13个开源GIS软件,你了解几个?
查看>>
Shell批量启动、关闭tomcat
查看>>
C++成员函数的重载、覆盖与隐藏【转载】
查看>>
网站开发技能图谱
查看>>
4.27随笔
查看>>
CSS实例:图片导航块
查看>>
poj1860 Currency Exchange(spfa判断正环)
查看>>
SQL CHECK 约束&Case when 的使用方法
查看>>
[整理]HTTPS和SSL证书
查看>>
[转载] Android 异步加载图片,使用LruCache和SD卡或手机缓存,效果非常的流畅
查看>>
UVA12206 Stammering Aliens 【SAM 或 二分 + hash】
查看>>
水晶苍蝇拍:聊聊估值那些事儿——“指标”背后的故事 (2011-11-01 14:58:32)
查看>>
3.每周总结
查看>>
应用提交 App Store 上架被拒绝
查看>>
Android实现异步处理 -- HTTP请求
查看>>
数据清空js清空div里的数据问题
查看>>
Fortran中的指针使用
查看>>