24 多线程02JAVA多线程中线程运行状态线程的休眠线程的强制运行.docx
- 文档编号:6832047
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:18
- 大小:2.01MB
24 多线程02JAVA多线程中线程运行状态线程的休眠线程的强制运行.docx
《24 多线程02JAVA多线程中线程运行状态线程的休眠线程的强制运行.docx》由会员分享,可在线阅读,更多相关《24 多线程02JAVA多线程中线程运行状态线程的休眠线程的强制运行.docx(18页珍藏版)》请在冰豆网上搜索。
24多线程02JAVA多线程中线程运行状态线程的休眠线程的强制运行
24.多线程(02)
本季知识点:
线程的控制方法。
本季继续介绍了JAVA多线程中线程运行状态、线程的休眠、线程的强制运行等常用的线程操作方法。
blog:
[零基础学JAVA]JavaSE应用部分-24.多线程(02)2009-02-16
上季内容回顾:
多线程的两种实现方式:
·Thread
·Runnable
最终都要求使用Thread类中start()方法启动多线程
本季主要知识点:
线程的控制方法
线程的状态转换
所有的线程实际上是同时启动的,只是抢占CPU的资源的顺序不同。
线程名称的设置及取得
在线程中所有的操作类都是在一个类——Thread类.
从提供的方法上来看:
多线程中提供了getName和setName则应该可以推断出在Thread类中必然有一个name属性。
ThreadDemo01:
运行结果:
在程序中,我们没有设置Thread-0名称哈,下面我们设置其名称
再来验证下效果
main线程是由对象进行调用的,所以是由主线程控制
从以上题目我们应该知道,我们之前所运行的所有的JAVA程序都是在线程上运行的。
java类名称-->启动JVM的进程
里面的main方法实际上就是一个在JVM进程上划分的线程。
如果没有为线程设置名字,则线程的默认名字为Thread-x(x:
表示数字,从0开始)
如果计数是往上增1,则所有对象肯定是共享同一个变量,则此变量肯定是static类型的。
看下效果:
问题:
问在JAVA程序中,每一次运行至少启动几个线程呢?
·主线程(main)
·垃圾收集线程(GC)
刚才设置名字的时候是在Thread类的对象创建完之后在设置名字的,可以在构造方法处设置线程名称:
publicThread(Runnabletarget,Stringname);
结果出来了
线程控制基本方法
方法名称以isXxx开头的,一般都是返回boolean类型。
激活线程
线程是通过start()方法启动的,在线程启动之前肯定是死的,但是线程启动之后再判断呢?
此程序更能验证一点——多线程的程序的输出是不固定的,谁先谁后都应该充分考虑到。
设置后台线程
Linux下可以很清楚的看见有后台线程。
如果不设置后台线程会怎么样,看一下正常启动线程
程序进入死循环
现在设置程序后台运行
我们发现程序运行一段时间后自己跑后台执行了,程序在前台看不见了
线程的休眠
如果说现在不使用Thread类中提供好的sleep方法,那么如何可以让线程暂时停止运行呢?
发现程序运行有点快,我们加个for空循环
现在可以清楚看见程序在一个个运行了
多线程类中提供专门的休眠方法——sleep
public static voidsleep(longmillis)-->休眠毫秒
throws InterruptedException -->抛出了中断异常
程序达到了相同的效果哈~三个线程同一时间跳出来哈~这就是一个多线程休眠的操作
线程的强制运行
public final voidjoin()-->证明此方法不能被子类覆写
throws InterruptedException
我们看一下这个t.txt文件哈~当i值为100时,强制执行Thread-0线程
总结
1、取得当前线程:
publicstaticThreadcurrentThread();
2、取得线程的名字:
publicStringgetName();
3、设置线程的名字:
publicvoidsetName(Stringname)
在构造方法上也有支持:
|- publicThread(Stringname); 直接在构造方法处设置线程的名字
|- publicThread(Runnabletarget,Stringname)
4、JAVA程序启动时至少启动两个线程
· main:
主方法
· gc:
垃圾收集
5、线程的休眠
如果不用Thread类中提供的方法,则可以通过空循环的方式完成延迟操作
publicstaticvoidsleep(毫秒)throwsInterruptedException
6、线程的强制运行
publicfinalvoidjoin()throwsInterrtupedException
#############################################
本文出自“王乾De技术博客”博客,谢绝转载!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 24 多线程02JAVA多线程中线程运行状态线程的休眠线程的强制运行 多线程 02 JAVA 线程 运行 状态 休眠 强制