00:01
好了,那么接下来呢,我们继续看怎么去强行终止一个线程,执行强行终止啊,Thread test09。呃,不一定啊。你在别的线程里面也可以写啊。主线程只是个主线程,只是个线程啊。它只是个限制,你在别的地方也可以写,所以啊,所以。来,那么我们接下来在Java中怎么强行终止一个线程?注意,怎么强行终止一个线程,各位啊。现在这呢有class my roundable3employment去实现roundable,然后呢去我们实现它里面的方法哈。
01:00
嗯,现在呢,假如说我们这个程序啊,在这里执行。啊。怎么执行呢?For循环类型I呢等于零,I呢,小于什么呀?10I干什么呀?加加,然后接下来呢,我输出,输出什么呢?thread.can thread.get name当前现身的名字,然后打印一个箭头出去,再打一个I,接下来在这thread点让它睡眠什么呀,一秒钟。睡眠一秒钟啊,然后加一个拆开再处理一下,那这个程序整个需要十秒钟才能结束,对吧。那么接下来我在执行这样的一个代码,Thread t前等于new一个thread new的时候呢,我再new一个什么呀?叫做哎,My roundable3就这个啊new完之后呢,接下来我调用T形set name这个方法啊,设置为T,那么接下来t.start启动啊启动之后呢,哎,模拟什么呀?哎,五秒钟模拟五秒啊模拟五秒怎么模拟啊,right.sleep。哎,1000乘以什么呀,五对吧,哎,模拟五秒睡眠啊,然后五秒之后怎么着呢,五秒之后强行。
02:11
强行啊,终止线程。这个五秒钟之后,这不是十秒吗?需要十秒对不对,五秒之后强行终止这个提前征怎么终止啊。点stop。已过时对吧,不建议使用,就讲了半天这个不用啊,就给大家演示一下好吧,演示一下啊。终止,因为已过时了,他已经啊过时了,来它有什么坏处,一会儿我给大家解释一下,好吧,来看看这个能不能终止掉啊,五秒钟之后,下边这个线程能不能终止,不是终止睡眠啊,不是终止睡眠,是强行干掉这个线程,把线程干死了,就这意思啊,来走一个。12345秒。
03:03
八。停了吧,往下这个五是不是没有输出啊。对吧,哎,这个没有输出,为什么,因为他停了,为什么停了,因为t stop。好,这个stop方法有点类似于这个,各位啊,点右键启动任务管理器,好,大家看啊,这个地方有没有一个叫做idea的,点右键结束结束进程,你懂什么意思吧,一下就强行关闭了。这个stop方法它存在的缺点是什么?大家分析一下。到的方法缺点,为什么它已过时?他这个方法的缺点是什么?嗯。思考一下这个方法的缺点是啥?时间差不是不是不是容易丢数据。容易丢数据,损坏数据啊,损坏数据。就是你这块你idea,你你是不是idea吗?叭一下点右键咔嚓一下给他结束进程。
04:04
是不是就意味着如果当时这个信息没保存,是不是就丢失了?在内存里边没保存的时候已经丢失了呀。Stop,强行终止的缺点啊。会丢失数据。这种方式存在很大的缺点。容易丢失数据。因为这种方式是直接。将县城怎么着杀死了?啊,杀死了线程没有保存的数据。啊,将会丢失。不建议使用。不建议使用啊。突然断电,就这意思来,我这个跟上边的例子没关系啊,上边这个例子主要说的是啥呀?说的是一个线程,他睡得太死了,我想不让他,不让他睡了。
05:02
然后除异常,让他往下走吧。我这个例子最主要是咔嚓一下把线程杀死了得啊,线程结束了,他不是一个量级的啊,不是一个量级的。那委托老师,我们不能这样做,我们应该怎么做呢?我们怎么让一个线程终止呢?有没有什么比较好的方式或者手段呢?有的啊。
我来说两句