本文**都可在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 ...