00:00
各位同学大家好,接下来中断的相关API3大方法在这儿给大家做一下说明,通过前面的理论知识学习,我们明白了所谓的中断机制是一种协商机制,那么所谓的这三大方法也就是这个这个这个,那么你放心。你自己去学这个API的话,可能会看的有点懵逼,而且这三个方法分别有什么样的特性,优缺点,用在哪,怎么用,不一定你能够马上获得正确的答案,所以说在这块集中精神听杨哥给你拆解和做的总结。来这三个方法,两个是实例方法,一个是静态方法。咱们先看第一个。是word没有返回值,也没有输入参数。interrupt是个实例方法,注意,Just to set the interrupt flag仅仅是设置中断标志位,那么这个方法一定要用,仅仅是将这个线程的中断标志位。设置为处发起一个协商,而不会立刻停止这个线程。
01:04
前面我们用餐厅吸烟这个案例给大家做了一个详细的对比和讲解,那么现在服务员和他讲,我们在这儿,先生,对不起,不能吸烟,请你掐灭香烟,那么这个时候大家都清楚说明一个线程对另外一个线程。发起了一个中断的申请或者是请求,但是吸不吸香烟是在顾客,你服务员只能跟我协商,你不能这么霸王硬上弓一样,非常不礼貌的把客人手上的香烟给熄灭,对吧?所以说没有这样做服务的,所以说在这儿发起一个协商,而不会立刻停止县城。一调用,就把当前的现成的interrupt flag设置为。仅此而已,那么第二个比较啰嗦是静态的,他呢?是用静态方法来表示,那么thread.interrupt那么类名点取。判断线程是否被中断,并清除当前线程的中断状态。注意这个方法做了两件事儿,它是三个方法里面最啰嗦的一个,那么下面我们来看看第一件事儿。
02:09
他干什么呢?返回当前线程的什么中断状态,测试当前线程是否已经被中断,说白了就是通过这个方法的调用,返回出你当前的中断状态,就是这个interrupt flag的值是true还是副词,仅此而已。好,返回以后它还有后招,它还会多做一步。将当前线程的中断状态清零,并重新设置为force,清除线程的中断状态,哎,它有两步啊,这个是两为一体,ERR2R R1的事儿,它要么就不调用,要调用的话,它会给你做两步,第一步返回当前的中断标志位的真实值是错。就是错,是false就是false,第二步返回完了以后,统一的将中断状态的。
03:04
标志位清零,并把这个值重新设置为false OK,它有点类似于我们的I加加这样的操作,先返回I这个值,然后再做加加,它是分两步好,那么这个方法呢?后面我们会用案例给大家证明。现在,如果你有点儿想不通,请先暂时熟悉这个理论。确实这个方法有点不好理解。那么如果你连续两次调用这个方法,那么第二次都会返回这个force,有可能连续两次调用的结果是不一样的。好,那么第三个方法比较简单。说白了,他和他咱们两个经常配对使用。我将这个标志位设置为错,然后呢,你来看看is interrupted,注意是个啥方法,实例方法,那么就是看看我当前线程的中断标志位是to还是负四,就给我返回一个布尔值,哎,判断当前线程是否被中断,通过检查。
04:03
中断标志位返回处就说明有人希望协商一定能够中断,如果返回false,那就说明未中断。好,那么各位同学,这就是相关的三大方法。那么接下来我们代码说话就来看一下大肠面试题当中对中段机制的考点,那么顺便带着大家深度学习我们对应的三大方法。
我来说两句