多线程(02)-java多线程中线程运行状态、线程的休眠、线程的强制运行

多线程(02)-java多线程中线程运行状态、线程的休眠、线程的强制运行

ID:29051309

大小:2.01 MB

页数:18页

时间:2018-12-16

多线程(02)-java多线程中线程运行状态、线程的休眠、线程的强制运行_第1页
多线程(02)-java多线程中线程运行状态、线程的休眠、线程的强制运行_第2页
多线程(02)-java多线程中线程运行状态、线程的休眠、线程的强制运行_第3页
多线程(02)-java多线程中线程运行状态、线程的休眠、线程的强制运行_第4页
多线程(02)-java多线程中线程运行状态、线程的休眠、线程的强制运行_第5页
资源描述:

《多线程(02)-java多线程中线程运行状态、线程的休眠、线程的强制运行》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、24.多线程(02)本季知识点:线程的控制方法。本季继续介绍了JAVA多线程中线程运行状态、线程的休眠、线程的强制运行等常用的线程操作方法。blog:[零基础学JAVA]JavaSE应用部分-24.多线程(02)2009-02-16上季内容回顾: 多线程的两种实现方式: ·Thread ·Runnable 最终都要求使用Thread类中start()方法启动多线程本季主要知识点:线程的控制方法线程的状态转换所有的线程实际上是同时启动的,只是抢占CPU的资源的顺序不同。线程名称的设置及取得在线程中所有的操作类都是在一个类——Thread类. 从提供的方法上来看:多线程中提供

2、了getName和setName则应该可以推断出在Thread类中必然有一个name属性。ThreadDemo01:运行结果:在程序中,我们没有设置Thread-0名称哈,下面我们设置其名称再来验证下效果main线程是由对象进行调用的,所以是由主线程控制从以上题目我们应该知道,我们之前所运行的所有的JAVA程序都是在线程上运行的。 java类名称-->启动JVM的进程 里面的main方法实际上就是一个在JVM进程上划分的线程。 如果没有为线程设置名字,则线程的默认名字为Thread-x(x:表示数字,从0开始) 如果计数是往上增1,则所有对象肯定是共享同一个变量,则此变量

3、肯定是static类型的。看下效果:问题: 问在JAVA程序中,每一次运行至少启动几个线程呢? ·主线程(main) ·垃圾收集线程(GC)刚才设置名字的时候是在Thread类的对象创建完之后在设置名字的,可以在构造方法处设置线程名称:publicThread(Runnabletarget,Stringname);结果出来了线程控制基本方法方法名称以isXxx开头的,一般都是返回boolean类型。激活线程线程是通过start()方法启动的,在线程启动之前肯定是死的,但是线程启动之后再判断呢?此程序更能验证一点——多线程的程序的输出是不固定的,谁先谁后都应该充分考虑到。设

4、置后台线程Linux下可以很清楚的看见有后台线程。如果不设置后台线程会怎么样,看一下正常启动线程程序进入死循环现在设置程序后台运行我们发现程序运行一段时间后自己跑后台执行了,程序在前台看不见了线程的休眠如果说现在不使用Thread类中提供好的sleep方法,那么如何可以让线程暂时停止运行呢?发现程序运行有点快,我们加个for空循环现在可以清楚看见程序在一个个运行了多线程类中提供专门的休眠方法——sleep public static voidsleep(longmillis)-->休眠毫秒          throws InterruptedException -->抛

5、出了中断异常程序达到了相同的效果哈~三个线程同一时间跳出来哈~这就是一个多线程休眠的操作线程的强制运行public final voidjoin()-->证明此方法不能被子类覆写              throws InterruptedException我们看一下这个t.txt文件哈~当i值为100时,强制执行Thread-0线程总结 1、取得当前线程: publicstaticThreadcurrentThread(); 2、取得线程的名字: publicStringgetName(); 3、设置线程的名字: publicvoidsetName(Stringnam

6、e) 在构造方法上也有支持: 

7、- publicThread(Stringname); 直接在构造方法处设置线程的名字 

8、- publicThread(Runnabletarget,Stringname) 4、JAVA程序启动时至少启动两个线程 · main:主方法 · gc:垃圾收集 5、线程的休眠 如果不用Thread类中提供的方法,则可以通过空循环的方式完成延迟操作 publicstaticvoidsleep(毫秒)throwsInterruptedException 6、线程的强制运行 publicfinalvoidjoin()throwsInterrtupedE

9、xception#############################################本文出自“王乾De技术博客”博客,谢绝转载!

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。