线程的操作方法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
线程的操作方法

线程的操作方法 在多线程中所有的操作方法实际上都是从Thread类开始的。所有的操作基本上都是Thread类中。 下面看看线程类中的方法: 1.获取和设置线程的名称 在Thread类中可以通过getName()方法取得线程的名字,通过setName()方法给线程设置名称 线程的名称一般在启动线程前设置,但也允许为已经运行的线程设置名称。允许两个Thread对象有相同的名字,但为了清晰,应当经量避免这中情况出现。 另外,如果程序并没有为线程起名字,则系统会自动为线程分配一个名称 实例: public class MyThreadDemo implements Runnable{ public void run() { for (int i = 0; i 10; i++) { //currentThread()获取当前正在执行的线程对象 System.out.println(Thread.currentThread().getName()+运行,i=+i); } } } public class ThreadDemo1 { public static void main(String[] args) { //创建目标对象 MyThreadDemo mt=new MyThreadDemo(); //创建并启动线程(系统自动设置线程名称) new Thread(mt).start(); //手动设置线程名称 new Thread(mt,线程1).start(); new Thread(mt,线程2).start(); } } 从执行结果来看,指定的名称会自动出现,如果没有指定会发现线程会使用自动编号的方式完成,按照Thread-0,Thread-1依次编号,实际上他肯定是在类中存在一个Static属性,来记录编号的。 2.获取当前正在执行的线程对象 程序我们使用currentThread()静态方法获取到当前正在运行线程的对象。 实例: public class MyThreadDemo2 implements Runnable { public void run() { for(int i=0;i10;i++){ System.out.println(Thread.currentThread().getName()+运行,i=+i); } } } public class TreadDemo2 { public static void main(String[] args) { //创建目标对象 MyThreadDemo2 mt=new MyThreadDemo2(); //启动线程 new Thread(mt,线程1).start(); //调用run方法 mt.run(); } } 通过上面的程序你会发现,程序中由于直接通过线程的目标对象调用里面的run()方法,所以输出结果中就包含了一个“main”,此线程就是由“ mt.run();”产生的。因为此法是由主方法完成的,也就是说实际上主方法本身也是一个线程-----主线程。 问出现啦,既然主方法都是以线程的形式出现的,那么Java程序运行时到底启动了多少个线程? 答案是至少启动了两个线程。 从之前的学习来看,每当Java程序执行的时候,实际上都会启动一个jvm,没一个jvm实际上就是在操作系统中启动一个进程。Java本身具备了垃圾收集机制,所以在Java程序运行时至少启动两个线程:主线程,GC。 3.判断线程是否启动 在Java中使用isAlive()方法来判断线程是否启动,如果是true就说明线程启动,false就是没有启动。 实例: public class MyThreadDemo3 implements Runnable{ public void run() { for(int i=0;i10;i++){ System.out.println(Thread.currentThread().getName()+运行,i=+i); } } } public class ThreadDemo3 { public static void main(String args[]) { //创建一个线程目标对象 MyThreadDemo3 mt=new MyThreadDemo3(); //创建线程对象 Thread th1=new Thread(mt,线程1); //isAlive()方法判断线

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档