国产毛多水多高潮高清,久热这里只有精品视频6,国内精品久久久久久久久电影网,国产男同志CHINA69,精品999日本久久久影院,人人妻人人澡人人爽人人精品,亚洲中文无码永久免

「Java面试」如何中断一个正在运行的线程?-大众彩票APP登录

「Java面试」如何中断一个正在运行的线程?

2026-01-19 15:11:03投稿人:眾恒52878(株洲)有限公司圍觀5963 評(píng)論

「Java面試」如何中斷一個(gè)正在運(yùn)行的線程 ?

一個(gè)去京東面試的工作了5年的粉絲來找我說:

Mic老師 ,你說并發(fā)編程很重要  ,果然我今天又掛在一道并發(fā)編程的面試題上了 。

我問他問題是什么,他說 :”如何中斷一個(gè)正在運(yùn)行中的線程 ?“。

我說這個(gè)問題很多工作2年的人都知道~

好吧,對(duì)于這個(gè)問題,來看看普通人和高手的回答 。

普通人 :

嗯。。。。  。 。。


高手:

關(guān)于這個(gè)問題,我從幾個(gè)方面來回答 。

首先  ,線程是系統(tǒng)級(jí)別的概念 ,在Java里面實(shí)現(xiàn)的線程 ,最終的執(zhí)行和調(diào)度都是由操作系統(tǒng)來決定的,JVM只是對(duì)操作系統(tǒng)層面的線程做了一層包裝而已 。

所以我們?cè)贘ava里面通過start方法啟動(dòng)一個(gè)線程的時(shí)候 ,只是告訴操作系統(tǒng)這個(gè)線程可以被執(zhí)行,但是最終交給CPU來執(zhí)行是操作系統(tǒng)的調(diào)度算法來決定的 。

「Java面試」如何中斷一個(gè)正在運(yùn)行的線程?

因此,理論上來說 ,要在Java層面去中斷一個(gè)正在運(yùn)行的線程 ,只能像類似于Linux里面的kill命令結(jié)束進(jìn)程的方式一樣,強(qiáng)制終止 。

所以,Java Thread里面提供了一個(gè)stop方法可以強(qiáng)行終止 ,但是這種方式是不安全的 ,因?yàn)橛锌赡芫€程的任務(wù)還沒有