導航:首頁 > 編程語言 > java獲取線程對象

java獲取線程對象

發布時間:2022-12-20 09:34:54

java線程的幾個概念和方法

新建狀態:用new語句創建的線程對象處於新建狀態,此時它和其它的java對象一樣,僅僅在堆中被分配了內存 就緒狀態:當一個線程創建了以後,其他的線程調用了它的start()方法,該線程就進入了就緒狀態。處於這個狀態的線程位於可運行池中,等待獲得CPU的使用權
運行狀態:處於這個狀態的線程佔用CPU,執行程序的代碼
阻塞狀態:當線程處於阻塞狀態時,java虛擬機不會給線程分配CPU,直到線程重新進入就緒狀態,它才有機會轉到運行狀態。

阻塞狀態分為三種情況:
1、 位於對象等待池中的阻塞狀態:當線程運行時,如果執行了某個對象的wait()方法,java虛擬機就回把線程放到這個對象的等待池中
2、 位於對象鎖中的阻塞狀態,當線程處於運行狀態時,試圖獲得某個對象的同步鎖時,如果該對象的同步鎖已經被其他的線程佔用,JVM就會把這個線程放到這個對象的瑣池中。
3、 其它的阻塞狀態:當前線程執行了sleep()方法,或者調用了其它線程的join()方法,或者發出了I/O請求時,就會進入這個狀態中。

㈡ java中Vector中的對象,中調用後,如何再獲得其線程對象

Vector 可以用Iterator迭代的。也可以用for循環進行遍歷。比如:
for (Iterator iterator = vec.iterator(); iterator.hasNext();) {
Bullet bullet = (Bullet) iterator.next();

}

for (int i = 0; i < vec.size(); i++) {
Bullet b = (Bullet) vec.get(i); // 得到的object對象強轉為Bullet對象
}

你在for循環里添加判斷就好了。也就是你所謂的 獲得各個Bullet對象線程運行的情況 。 不過注意迭代的時候是不能對容器進行更改的。所謂更改比如刪除或者增加一個Bullet對象到容器中。

另外,我也寫過java游戲。曾經也寫過一個關於Bullet類的。 我覺得沒有必要把每個子彈定義成一個線程。 子彈的運動完全可以在draw方法里寫。如果子彈多了。你的游戲效率是很低的。 這是我的建議

閱讀全文

與java獲取線程對象相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:485
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:382
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:350
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163