java多线程中出现的异常分别有哪些_java多线程试题
承Thread類
4.線程的高度是指在單個CPU上以某種順序運(yùn)行多個線程
5.多個線程并發(fā)執(zhí)行時,各個線程中語句的執(zhí)行順序是確定的,但是線程之間的相對執(zhí)行順序是不確定的
6.Java中的對象鎖是一種獨(dú)占的排他鎖
7.程序中可能出現(xiàn)一種情況:多個純種互相等待對方持有的鎖,而在得到對方的鎖之前都不會釋放自己的鎖,這就是死鎖.
8. notyfyAll() 方法將對象wait pool中的所有純種都移到lock pool中。
9.在一個線程中,建議使用標(biāo)志,而不使用stop() 方法終止另一個線程。
10.Java線程組把一組線程看做一個對象進(jìn)行統(tǒng)一處理。
11.進(jìn)程是一個內(nèi)核級的實(shí)體,而線程是一個用戶級的實(shí)體
12.在Java線程模型中的數(shù)據(jù)和代碼構(gòu)成了線程體。
13.線程的優(yōu)先級是在Thread類的常數(shù)MIN_PRIORITY 和MAX_PRIORITY
之間的一個值
14.Java的線程高度策略是基于優(yōu)先級的搶占式調(diào)度。
15.處于新建狀態(tài)的線程可以使用的控制方法是start() 和stop() 。
16.一個進(jìn)程可以包含多個線程
17.多任務(wù)操作系統(tǒng)運(yùn)行多個進(jìn)程來并發(fā)地執(zhí)行多個任務(wù)
18.線程是由表示程序運(yùn)行狀態(tài)的寄存器組成的
19.多線程允許單個程序創(chuàng)建多個并行執(zhí)行的線程來完成多個子任務(wù)
20.Thread類中表示最高優(yōu)先級的常量是getPriority() ,而表示最低優(yōu)先級的常量是setPriority(0 .
三.簡答題
1. 簡述 synchronized 和 java.util.concurrent.locks.Lock 的異同?
答:主要相同點(diǎn): Lock能完成synchronized所實(shí)現(xiàn)的所有功能
主要不同點(diǎn):Lock有比synchronized更精確的線程語義和更好的性能。synchronized會自動釋放鎖,而Lock一定要求程序員手工釋放,并且必須在finally從句中釋放。
2.理解幾個概念對象鎖、sleep、wait、notify、notifyAll
對象鎖:每個對象都有對象鎖,當(dāng)某個線程進(jìn)入用synchronized定義方法時,就獲得了當(dāng)前類對象(方法所屬的類的對象)的鎖,其他線程就不能再獲得該鎖,直到線程釋放該鎖。一個類對象有一個對象鎖,多個同步方法公用一個對象鎖。
sleep:是當(dāng)前線程處于休眠狀態(tài),將對cpu的控制權(quán)交給其他線程,但不釋放當(dāng)前對象的鎖,其他線程可以獲得cpu,但不能進(jìn)入當(dāng)前線程控制的對象鎖。
wait:與sleep的區(qū)別是,它會釋放對象鎖,其他線程可以進(jìn)入該同步塊。
notify:進(jìn)入當(dāng)前同步塊的線程調(diào)用wait方法變成休眠狀態(tài)的線程,notify將該線程變成等待狀態(tài)。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的java多线程中出现的异常分别有哪些_java多线程试题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 获取年预提,【判断题】正确核
- 下一篇: md5加密解密代码_Python内置方法