提問(wèn) 關(guān)于 while(!this.isInterrupted()){}
老師的案例中:
第一次設(shè)置whlie(true),線程沒(méi)有結(jié)束,那么main()方法中thread.interrupt()中斷的是哪個(gè)線程?
第二次改為while(!this.isInterrupted()){},其他沒(méi)變,那么按照上一次的說(shuō)法thread.interrupt()并沒(méi)有中斷線程,因此isInterrupted()獲取的值應(yīng)為false,!false就是true,那么while循環(huán)應(yīng)該也不會(huì)停止,所以請(qǐng)問(wèn)this.isInterrupted()中的當(dāng)前線程是哪個(gè)線程?
謝謝各位!
2018-12-24
thread調(diào)用了interrupt()方法,?并不是如字面意義上就會(huì)將線程終止,?而是將線程的終止?fàn)顟B(tài)設(shè)置為true,?使isInterrupted()方法返回ture,?而這個(gè)時(shí)候while循環(huán)里的判斷條件又沒(méi)有提到isInterrupted()方法,?所以即使thread調(diào)用了interrupt()方法,?對(duì)這個(gè)循環(huán)也沒(méi)有任何影響啊,?所以線程還是會(huì)一直執(zhí)行下去
2017-04-12
interrupt()這個(gè)方法并不是停止線程的方法,所以thread這個(gè)線程因?yàn)閣hile(true)是不會(huì)終止的
2017-03-30
thread.interrupt()中斷的是WorngWayStopThread 的對(duì)象thread這個(gè)線程;
while(!this.isInterrupt()) ?其他沒(méi)變,因?yàn)閠hread調(diào)用了interrupt()方法,所以this.isInterrupt()會(huì)返回true,!true就是FALSE,所以while循環(huán)會(huì)停止,這個(gè)this.isInterrupt()還是thread這個(gè)線程