00:00
来,我们看看怎么样更合理的去终止一个线程的执行。好吧,来,在这里我们去新建一个class,这class我们叫thread test10。幺零啊。嗯,就是怎么合理的终止。一个线程的执行。啊,这种方式是很常用的。啊,很常用的,来在这里呢,我们有个class叫MY。Roundable。四去实现roundable接口,这边呢,我们直接实现这个方法行吧,来大家注意看啊,现在呢,在这里啊,我们有一个循环。嗯。一般都打个布尔标记啊B,那I呢等于零,I呢小于什么呀?这个10I干什么呀,加加。
01:00
然后呢,接下来我们每循环一次呢,输出这个thread current thread name,然后再加上去一个箭头。然后呢,在这个位置上,我们有一个什么呀,Thread点什么呀。嗯。呃,这个sleep呢,还是睡眠疫苗吧,然后这呢加一个TRY啊。加,那一般情况下我们会在这打个布尔标记,布尔标记啊,Run默认值是true。啊,然后接下来我们在循环过程当中,一般用一个波尔标记来来判断一下,如果说我们这个run没问题的话,对吧?哎,我们就继续让它往下执行,执行这个代码。I呢就不行了,Else就是false呗,如果为false的话,就终止线程就行了,对吧?哎,终止当前线程怎么终止呢?Return就结束了呗,这个方法结束就完事了,方法结束就完事了呀。所以这块呢,打一个布尔标记,你看见没有,一般是打一个什么呀,打一个布尔标记在外边呢,你改布尔标记情况啊,什么意思,你看啊,Thread t线程等于new一个thread是吧,然后new一个什么呀,叫做ABLE4。
02:16
那么这个时候呢,我们调用set name这个方法叫做T,然后T线程点启动,启动之后呢,模拟五秒,模拟五秒啊模拟五秒吧,那么怎么right.sleep5秒钟5000嘛,直接是它,然后加一个TRY开是五秒,五秒之后呢,我们就终止线程,终止线程非常简单,直接调用这个这个对象呢,哎,Run这个把这个值给它改成false就行了,怎么改?哎,你需要把它单独拿出来,各位啊,因为这个是my runable这个类里边的一个属性,对吧?哎,那叫my roundable4呗。啊,买到VA4,然后呢,R是不是好,这个对象是不是作为参数传进去啊对吧?哎这边是不是就r.run就行了,R这个对象对吧,它有一个属性叫run嘛,哎,你点run就行了,点run你看给它改成false就行了。
03:06
就你想什么时候终止改报就行了,就是就是你想要什么时候终止T的执行,那么你把把标记修改为false就结束了,这是一种很合理的,很正常的一种结结束方式。啊,你因为这判断嘛,对吧,你得写这个代码,你不写这个代码肯定是不行的,对,如果说是true就执行。如果别的就结束呗,对吧,哎,这样前后给它搭起来就行就可以了啊,这种是非常正常的一种结束方式啊。12345秒修改是吧,你看他一改是不是这就终止了,这为什么?因为执行的return。对不对,那我问大家,如果你需要有一些数据需要保存,你不return return之前对吧?Return之前return就结束了,Return就结束了对吧?你在什么呀,在结束之前还有什么没保存的,是不是在这里可以保存呀,是不是?哎,你执行代码保存就行了啊,Save呗,对吧?哎,你执行你的代码保存就行了,这样的话就数据不会丢失啊。
04:19
保存完之后你再return啊,Return方法就结束了。就这意思是不是啊这样啊。好,这是一种呃,正确的方式,希望大家能把这个例子呢,当做一个重点啊,当做一个重点去看一看啊,采用这种方式改标记,改一下标记就行了。啊,执行你看。哎。行,我们先休息一下十分钟啊。
我来说两句