編程題目:
1.設計4個線程,其中兩個線程每次對j增加1,另外兩個線程對j每次減少1。寫出程序。
示例代碼:
package program.thread.exercise01;
/**
* 1.設計4個線程,其中兩個線程每次對j增加1,另外兩個線程對j每次減少1。寫出程序。
*/
public class JThreadManager {
public static void main(String[] args) {
JManager jm = new JManager();
for(int i=0;i<2;i++){
new Thread(
new Runnable(){
public void run(){
for(int i=0;i<5;i++){
jm.increase();
}
}
}
).start();
new Thread(
new Runnable(){
public void run(){
for(int i=0;i<5;i++){
jm.decrease();
}
}
}
).start();
}
}
}
class JManager {
private int j;
public synchronized void increase(){
j++;
System.out.println(Thread.currentThread().getName()+"-increase:"+j);
}
public synchronized void decrease(){
j--;
System.out.println(Thread.currentThread().getName()+"-decrease:"+j);
}
}
結果顯示: