编程题目:
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);
}
}
结果显示: