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

一.

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

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

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

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

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

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

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

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

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

 

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

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

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

 

转载于:https://www.cnblogs.com/wsw-bk/p/8097401.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值