- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA线程的两种创建方式和优劣比较.doc
1、通过实现Runnable接口线程创建
1 .定义一个类实现Runnable接口,重写接口中的run 方法。在run 方法中加入具体的任务代码或处理逻辑。
2 .创建Runnable接口实现类的对象。
3 .创建一个Thread类的对象,需要封装前面Runnable接口实现类的对象。(接口可以实现多继承)
4 .调用Thread对象的start 方法,启动线程
示例代码:
01.package demo.thread;02.03.public class TreadDemo1 implements Runnable 04. private int countDown 10;05. @Override06. // 在run方法中定义任务07. public void run 08. while countDown-- 0 09. System.out.println # + Thread.currentThread .getName + 10. + countDown + ;11. 12.
13.14. public static void main String[] args 15. // Runnable中run方法是一个空方法,并不会产生任何线程行为,必须显式地将一个任务附着到线程上16. TreadDemo1 tt new TreadDemo1 ;17. new Thread tt .start ;18. new Thread tt .start ;19. System.out.println 火箭发射前倒计时: ;20. 21. 22.运行结果:
火箭发射前倒计时:#Thread-1 8 #Thread-1 7 #Thread-1 6 #Thread-1 5 #Thread-1 4 #Thread-1 3 #Thread-1 2 #Thread-1 1 #Thread-1 0 #Thread-0 9
2、通过继承Thread类创建线程
1 .首先定义一个类去继承Thread父类,重写父类中的run 方法。在run 方法中加入具体的任务代码或处理逻辑。 2 .直接创建一个ThreadDemo2类的对象,也可以利用多态性,变量声明为父类的类型。
3 .调用start方法,线程t启动,隐含的调用run 方法。
示例代码:
view plaincopy to clipboardprint?01.package demo.thread;02.03.public class ThreadDemo2 extends Thread 04. private int countDown 10;05.06. @Override07. // 在run方法中定义任务08. public void run 09. while countDown-- 0 10. System.out.println # + this.getName + + countDown + ;11. 12. 13.14. public static void main String[] args 15. new ThreadDemo2 .start ;16. new ThreadDemo2 .start ;17. // 由于start方法迅速返回,所以main线程可以执行其他的操作,此时有两个独立的线程在并发运行18. System.out.println 火箭发射前倒计时: ;19. 20. 21.package demo.thread;
public class ThreadDemo2 extends Thread private int countDown 10;
@Override// 在run方法中定义任务public void run while countDown-- 0 System.out.println # + this.getName + + countDown + ; public static void main String[] args new ThreadDemo2 .start ;new ThreadDemo2 .start ;// 由于start方法迅速返回,所以main线程可以执行其他的操作,此时有两个独立的线程在并发运行System.out.println 火箭发射前倒计时: ; 运行结果:
#Thread-0 9 #Thread-0 8 #Thread-
您可能关注的文档
最近下载
- 《射频识别技术原理与应用实战》全套教学课件.pptx
- 羊的同期发情技术.pptx VIP
- T-CAGHP 035—2018地质灾害排水治理工程设计规范(试行).docx VIP
- 第二批重点监管危险化学品名录.doc VIP
- 劳技课件教学课件.pptx VIP
- Unit 1 I love sports Part 1 (课件)2025-2026学年度外研版(三起)英语四年级上册.pptx VIP
- DBJ43_T393-2022:湖南省房屋建筑和市政工程消防质量控制技术标准.pdf VIP
- 2024年-2025年政工师(初级)理论考试题库及答案(综合题型).pdf VIP
- T∕ZZB 0900-2018 液晶调光玻璃团体标准.pdf VIP
- 朗朗阅读周周练四年级上册(1).pdf VIP
文档评论(0)