Java 多執行緒學習總結3

2021-08-29 19:06:35 字數 1353 閱讀 9868

執行緒的死鎖

如果多個執行緒操作多個物件互相請求,那麼會引起死鎖。

package deadlock;

public class somebody

public synchronized void saysomething()

catch (interruptedexception e)

other.singsomething();//讓另外乙個物件請求它已經占有的鎖

system.out.println(this.name+"222222222222"+thread.currentthread());

system.out.println(this.name+"33333333333"+thread.currentthread());

system.out.println(this.name+"44444444444"+thread.currentthread()); }

public synchronized void singsomething()

catch (interruptedexception e)

other.saysomething();//讓另外乙個物件請求它已經占有的鎖

system.out.println(this.name+"cccccccccccc"+thread.currentthread());

system.out.println(this.name+"ddddddddddddd"+thread.currentthread());

} public void setother(somebody other)

}

執行緒1:

ublic class xiaoming extends thread

public void run()

}

執行緒2:

package deadlock;

public class dagang extends thread

public void run()

}

程式入口:

package deadlock;

public class main

}

結果:

小明1111111111thread[thread-0,5,main]

大剛aaaaaaaaaaathread[thread-1,5,main]

大剛bbbbbbbbbbbbbbthread[thread-1,5,main]

解釋:

導致各自占有,互相排斥,故死鎖了!

Java 多執行緒學習總結2

併發執行最理想的狀況是讓一些 毫不相干 的somebody 自己做自己的事情,和別人無關。但是事實讓確非如此,因為在哲學上講,世界是乙個整體,每個個體之間都存在聯絡,我們讓一些東西不相干,是我們人類為了簡化問題,而從概念上進行的分割劃分,呵呵。事實上,如果某個somebody 為多個執行緒共享,其中...

Java多執行緒總結

life s a climb,but the view is great.1.1 繼承thread 1.2 實現runnable 1.3 實現callable2.1 五種狀態 建立,就緒,執行,阻塞,死亡 2.2終止執行緒 自然終止 外部干涉 2.3 阻塞 join yield sleep slee...

Java 多執行緒總結

class mythread extends threadcatch interruptedexception e system.out.println mythread running public class threadtest mythread t new mythread 建立了乙個子執行...