- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在Java中创建线程有两种方法
在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。在使用Runnable接口时需要建立一个Thread实例。因此,无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例。Thread类的构造方法被重载了八次,构造方法如下:
? public?Thread(?); public?Thread(Runnable?target); public?Thread(String?name); public?Thread(Runnable?target,?String?name); public?Thread(ThreadGroup?group,?Runnable?target); public?Thread(ThreadGroup?group,?String?name); public?Thread(ThreadGroup?group,?Runnable?target,?String?name); public?Thread(ThreadGroup?group,?Runnable?target,?String?name,?long?stackSize); Runnable?target 实现了Runnable接口的类的实例。要注意的是Thread类也实现了Runnable接口,因此,从Thread类继承的类的实例也可以作为target传入这个构造方法。
String name
线程的名子。这个名子可以在建立Thread实例后通过Thread类的setName方法设置。如果不设置线程的名子,线程就使用默认的线程名:Thread-N,N是线程建立的顺序,是一个不重复的正整数。
ThreadGroup group
当前建立的线程所属的线程组。如果不指定线程组,所有的线程都被加到一个默认的线程组中。关于线程组的细节将在后面的章节详细讨论。
long stackSize
线程栈的大小,这个值一般是CPU页面的整数倍。如x86的页面大小是4KB.在x86平台下,默认的线程栈大小是12KB.
一个普通的Java类只要从Thread类继承,就可以成为一个线程类。并可通过Thread类的start方法来执行线程代码。虽然Thread类的子类可以直接实例化,但在子类中必须要覆盖Thread类的run方法才能真正运行线程的代码。下面的代码给出了一个使用Thread类建立线程的例子:
?? 001?package?mythread; 002 003?public?class?Thread1?extends?Thread 004?{ 005?public?void?run() 006?{ 007?System.out.println(this.getName()); 008?} 009?public?static?void?main(String[]?args) 010?{ 011?System.out.println(Thread.currentThread().getName()); 012?Thread1?thread1?=?new?Thread1(); 013?Thread1?thread2?=?new?Thread1?(); 014?thread1.start(); 015?thread2.start(); 016?} 017?} 上面的代码建立了两个线程:thread1和thread2.上述代码中的005至008行是Thread1类的run方法。当在014和015行调用start方法时,系统会自动调用run方法。在007行使用this.getName()输出了当前线程的名字,由于在建立线程时并未指定线程名,因此,所输出的线程名是系统的默认值,也就是Thread-n的形式。在011行输出了主线程的线程名。
上面代码的运行结果如下:
????? main Thread-0 Thread-1 从上面的输出结果可以看出,第一行输出的main是主线程的名子。后面的Thread-1和Thread-2分别是thread1和thread2的输出结果。
注意:任何一个Java程序都必须有一个主线程。一般这个主线程的名子为main.只有在程序中建立另外的线程,才能算是真正的多线程程序。也就是说,多线程程序必须拥有一个以上的线程。
Thread类有一个重载构造方法可以设置线程名。除了使用构造方法在建立线程时设置线程名,还可以使用Thread类的setName方法修改线程名。要想通过Thr
您可能关注的文档
- 国家级工法编写与申报指南secret.doc
- 国家级生态乡镇创建指标.docx
- 国家职业技能标准.doc
- 国家职业技能标准:育婴员(2010年修订).doc
- 国家职业资格书证一、级二级(技师、高级技师)考评审批表.doc
- 国家职业资格书证宣资传料.doc
- 国家职业资格书证考核评定申请表.doc
- 国家自然科学基金申请书范例.doc
- 国家自主创新示范区调研提纲附件.doc
- 国家药用包装容器(材料)标准.doc
- 2024刑法期末考试考试历年机考真题集附答案详解(满分必刷).docx
- 2025刑法期末考试模考模拟试题含完整答案详解(典优).docx
- 2024年刑法期末考试题库检测试题打印及参考答案详解【考试直接用】.docx
- 2024刑法期末考试能力提升B卷题库及参考答案详解(必威体育精装版).docx
- 2024-2025学年度广州体育职业技术学院《形势与政策》期末考试能力检测试卷附答案详解【巩固】.docx
- 2024刑法期末考试模拟试题及参考答案详解(名师推荐).docx
- 2024-2025学年度西安外事学院《形势与政策》期末考试考试综合练习及1套完整答案详解.docx
- 2024-2025学年度电梯考试题库检测试题打印含完整答案详解(精选题).docx
- 2024-2025学年度刑法期末考试高分题库及参考答案详解【培优B卷】.docx
- 2024年上海立信会计金融学院单招《职业适应性测试》考前冲刺练习试题汇编附答案详解.docx
最近下载
- 通信管道工程施工设计方案.pdf VIP
- 发货流程及常见问题排查.pptx VIP
- 驼峰进路控制原理 ZD7型电动转辙机控制电路.pptx
- 2025年新人教版七年级下册地理全册知识点复习专用.pdf VIP
- 2023年经济师《运输经济(民航)专业知识与实务》(中级试题).pdf VIP
- CJ-T161-2002:水泥内衬离心球墨铸铁管及管件.pdf
- 北京市朝阳外国语学校2024-2025学年七年级上学期分班考数学试卷.docx VIP
- 北京市建设工程预算消耗量定额(2021)市政工程.pdf VIP
- 2025年护理学副高考试题及答案.docx VIP
- DB46-T 12-2012 椰子生产技术规程.pdf VIP
文档评论(0)