導航:首頁 > 編程語言 > 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獲取線程對象相關的資料

熱點內容
android表格demo 瀏覽:263
安卓怎麼讓相冊不顯示網頁 瀏覽:300
php文件系統源碼 瀏覽:713
易信java 瀏覽:486
北侖二級壓縮螺桿機 瀏覽:49
加密路線免費入口 瀏覽:744
計算器程序員是幹嘛的 瀏覽:362
數控編程里fo是啥鍵 瀏覽:660
javacdataxml 瀏覽:949
本機tcp伺服器地址 瀏覽:432
切換pdf 瀏覽:97
iturns下載的app在哪裡 瀏覽:646
雲起書院App在哪裡 瀏覽:620
怎麼對hex文件進行加密 瀏覽:291
pdf少年時 瀏覽:959
兩個同名文件夾同步 瀏覽:635
拍照文件夾哪個好用 瀏覽:96
文件夾和書包 瀏覽:516
解壓歸檔拿登記證 瀏覽:230
去體驗解壓房 瀏覽:618