4個小例子看java執行緒掛起方法

2021-06-19 04:46:11 字數 1983 閱讀 6305

本文**都可在eclipse上直接執行

1.首先看個最簡單的方法,也是你最容易理解的:suspend。(注意:已經廢棄了,說是會導致死鎖)

public class thread1

}class threadc extends thread catch (interruptedexception e1)

system.out.println("c等待1完成");

try catch (exception e)

system.out.println("c等待2開始");

try catch (interruptedexception e1)

system.out.println("c等待2完成");

b.resume();

system.out.println("c說:b物件計算的總和是:" + b.total);

}}class threadb extends thread catch (interruptedexception e) }}

}2.再看另乙個使用join的方法:

public class thread1

}class threadc extends thread catch (interruptedexception e1)

system.out.println("c等待1完成");

try catch (interruptedexception e)

system.out.println("c等待2開始");

try catch (interruptedexception e1)

system.out.println("c等待2完成");

system.out.println("b物件計算的總和是:" + b.total);

}}class threadb extends thread catch (interruptedexception e) }}

} 3.現在學習wait和notify的使用,這需要配合synchronized 的使用。

讓我們看看wait和notify是怎麼釋放和還回鎖的:

public class thread1

}class threadc extends thread catch (interruptedexception e1)

system.out.println("c等待完成");

theo.wait();// 釋放這個鎖給另乙個鎖定的塊,讓另乙個塊執行

} catch (interruptedexception e)

system.out.println("b物件計算的總和是:" + b.total);}}

}class threadb extends thread

public void run() catch (interruptedexception e)

}o.notify();//釋放這個鎖,給threadc繼續執行}}

} 4.最後寫乙個使用wait和notify進行執行緒掛起的例子:

public class thread1

}class threadc extends thread catch (interruptedexception e1)

synchronized (theo)

system.out.println("c notify這個物件,還鎖");

theo.notify();

} catch (exception e) }}

}class threadb extends thread

public void run() catch (interruptedexception e1)

try catch (interruptedexception e) }}

}}

Linux多執行緒的乙個小例子

include include include include define max count 9 pthread mutex t mutex 互斥變數 pthread cond t cond 條件變數 int count 0 void addcount odd func void void ad...

請給乙個java執行緒同步的例子

遇到乙個筆試題 請寫出執行緒同步的方法!網上搜尋了半天沒乙個看懂得 我對執行緒的認識少之又少。誰能給乙個簡單點得執行緒同步 最好有些注釋 謝謝package synh class threaddemo implements runnablecatch exception e system.out.p...

Java 多執行緒程式設計兩個簡單的例子

author gao package gao.org public class runnabledemo implements runnable public static void main string args 主線程輸出 0 主線程輸出 1 主線程輸出 2 新執行緒輸出 0 主線程輸出 3 ...