jstack
作用:生成JVM當(dāng)前時刻線程的快照(threaddump,即當(dāng)前進程中所有線程的信息)
目的:幫助定位程序問題出現(xiàn)的原因,如長時間停頓,CPU占用率過高等
作用:生成JVM當(dāng)前時刻線程的快照(threaddump,即當(dāng)前進程中所有線程的信息)
目的:幫助定位程序問題出現(xiàn)的原因,如長時間停頓,CPU占用率過高等
2016-08-19
線程的阻塞狀態(tài)被解除,通常會有兩種情況:1、sleep()方法的timeout時間到了,2、被notify()或者notifyAll()喚醒
2016-08-19
File filename=new File("C:"+File.seperator()+"Daemon.txt")
這句才是精華,是跨平臺操作
這句才是精華,是跨平臺操作
2016-08-12
//1.當(dāng)類繼承thread類創(chuàng)建多個對象的時候不能使用this當(dāng)做鎖的對象,鎖不住,(會出現(xiàn)超范圍,會出現(xiàn)重復(fù)執(zhí)行)因為每一個this都代表一個對象
//解決方法.1.可以使用 類名.class(字節(jié)碼對象)
//2.可以使用類實現(xiàn)Runnable接口(只需創(chuàng)建一個類對象)
//1.循環(huán)應(yīng)該寫在鎖外邊,這樣會循環(huán)鎖(這里的鎖只是為了變量的同步設(shè)立的)
//如果把循環(huán)寫在了鎖里邊,當(dāng)某一條線程得到cpu的執(zhí)行權(quán)時,就會直到循環(huán)結(jié)束,才釋放鎖(可是這時其它的線程在得到鎖已經(jīng)沒有意義了,因為變量已經(jīng)不再滿足條件 了)
//解決方法.1.可以使用 類名.class(字節(jié)碼對象)
//2.可以使用類實現(xiàn)Runnable接口(只需創(chuàng)建一個類對象)
//1.循環(huán)應(yīng)該寫在鎖外邊,這樣會循環(huán)鎖(這里的鎖只是為了變量的同步設(shè)立的)
//如果把循環(huán)寫在了鎖里邊,當(dāng)某一條線程得到cpu的執(zhí)行權(quán)時,就會直到循環(huán)結(jié)束,才釋放鎖(可是這時其它的線程在得到鎖已經(jīng)沒有意義了,因為變量已經(jīng)不再滿足條件 了)
2016-08-10
已采納回答 / 地鐵時間ee
public class SoldTicketThread implements Runnable { private int ticket = 5; private synchronized void sale() { if (ticket > 0) { System.out.println(Thread.currentThread().getName() + "賣出了一張票,剩余" + (--ticket) + "張票"); try { Thread.sleep(100)...
2016-07-28
Thread是類,繼承,然后new自定義的類,start方法調(diào)用。
Runnable是接口,實現(xiàn),然后new自定義的類,再new Thread,start方法調(diào)用。
Runnable是接口,實現(xiàn),然后new自定義的類,再new Thread,start方法調(diào)用。
2016-07-26