public class Test16 {
/**
* 设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
* 以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。
*/
static int j ;
public static void main(String[] args) {
new Thread(){
public void run(){
while(true){
synchronized (Test16.class) {
System.out.println("j的值为: "+ --j);
}
}
}
}.start();
new Thread(){
public void run(){
while(true){
synchronized (Test16.class) {
System.out.println("j的值为: "+ --j);
}
}
}
}.start();
new Thread(){
public void run(){
while(true){
synchronized (Test16.class) {
System.out.println("j的值为: "+ ++j);
}
}
}
}.start();
new Thread(){
public void run(){
while(true){
synchronized (Test16.class) {
System.out.println("j的值为: "+ ++j);
}
}
}
}.start();
}
}
这是我对这题的理解,不知道写的对不对. |