一、概要
本文试图对以下内容进行阐述和说明:
1. Java中断是协作式中断,“协作式中断”的含义;
2. Java中断并不是立即响应,那么线程什么时候中断?又在什么时候响应中断?如何响应中断?
二、详解
1. 协作式中断的含义
借鉴INFOQ文章中的例子(链接:点击打开链接),协作式中断就像逢年过节回家,长辈总会告诫我们出门在外要照顾好自己,我们收到告诫后心里面就会记下来,但并不是立即就好好照顾自己(因为此时并不需要),而是等到我们出现需要照顾自己的场景的时候(譬如在外生病啦、孤独啦等等),回想到长辈的告诫,才去响应这个告诫,然后自己对自己好一点,去买平时舍不得买的东西,吃平时舍不得吃的东西。这段话有两个点,一个是通过长辈告诫我们,另一个是在恰当的场景下我们才会去响应并执行这个告诫,但是最终响应并执行这个告诫始终是我们自己<标记1>。
由此,可以引出java协作式中断的含义,辅助参看下面一段代码