JAVA-初步认识-第十四章-多线程-停止线程方式-定义标记

Posted 照破山河万朵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA-初步认识-第十四章-多线程-停止线程方式-定义标记相关的知识,希望对你有一定的参考价值。

一.

线程既然开启了,运行了,冻结又恢复运行了,那什么时候消亡呢? 怎么来停止线程呢?不能一直在运行。

线程怎么停,线程自己最清楚。在Thread类中,提供了stop方法,

本来线程持有一个锁,只要stop,它就什么都在放,这是强制操作,无论出于什么状态,强制将其搞定。本来wait,这那儿的,stop一下子就没了。

stop方法做的不是状态切换了,而是消失。

线程停止,其实只有一种,就是run方法结束。

线程一旦没有自己运行的代码了,任务没有了,线程自动就结束了。可是线程的任务怎么能没有呢?

标记就是条件,条件的书写是多种多样的,怎么写都可以。

以前写的while(ture)是死循环,不用想停的事儿了,除非你加上if,break。

现在将true改成flag,就是条件标记,可以是ture-false,或是比较大小值。同时还要向外提供一个能够改变标记的方式,

 

DOS结果显示正常,而且结束了。如果没有st.setFlag(),那么上面两个线程就结束不了。

当我们有了标记以后,一旦步入循环了,这个程序就能停的下来。

这种定义标记的方式,我们很常用。但是用起来,还有些解决不了的问题。

 

以上是关于JAVA-初步认识-第十四章-多线程-停止线程方式-定义标记的主要内容,如果未能解决你的问题,请参考以下文章

JAVA-初步认识-第十四章-多线程(守护线setDaemon)

JAVA-初步认识-第十四章-线程间通信-示例

JAVA-初步认识-第十四章-多线程-wait和sleep的区别

JAVA-初步认识-第十四章-线程间通信-等待唤醒机制

JAVA-初步认识-第十四章-线程间通信-多生产者多消费者问题-JDK1.5解决办法

JAVA-初步认识-第十四章-线程间通信-多生产者多消费者问题-JDK1.5新特性解决办法-范例