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

熱點內容
論文app怎麼用 瀏覽:466
開源文件伺服器加密 瀏覽:588
哈利波特游戲選什麼伺服器 瀏覽:424
雲伺服器怎樣格式化 瀏覽:16
框架柱頂部箍筋加密區規范 瀏覽:169
pythonjson文件讀取 瀏覽:105
夢幻西遊源碼架設 瀏覽:123
抽煙有解壓效果嗎 瀏覽:827
由於加密數據錯誤這個會話將結束 瀏覽:832
javaproject運行 瀏覽:255
0經驗轉行單片機 瀏覽:638
什麼叫解壓縮下載的文件 瀏覽:862
什麼牌子的手機加密狗好用 瀏覽:536
程序員編程學習筆記 瀏覽:864
吃雞亞服怎麼選擇不了伺服器 瀏覽:658
數控設備宏程序編程 瀏覽:840
高速銑編程培訓 瀏覽:650
天正改命令 瀏覽:773
路由器域名伺服器地址怎麼填 瀏覽:88
外掛編譯環境用什麼 瀏覽:216