创建一个ManyThread类
public class ManyThread {
private int j =0;
/**
* 加1
*/
public synchronized void inc(){
j++;
System.out.println(Thread.currentThread().getName()+"-inc:"+j);
}
/**
* 减1
*/
public synchronized void dec(){
j--;
System.out.println(Thread.currentThread().getName()+"-dec:"+j);
}
}
再创建提个测试类
public class ThreadTest1 {
private ManyThread many = new ManyThread();
public static void main(String[] args) {
ThreadTest1 tt = new ThreadTest1();
tt.test();
}
public void test(){
for (int i = 0; i < 2; i++) { //启动四个线程
new Thread(new Runnable() {
/**
* 加线程
*/
@Override
public void run() {
// TODO Auto-generated method stub
for (int i = 0; i < 20; i++) {
many.inc();
}
}
}).start();
new Thread(new Runnable() {
/**
* 减线程
*/
@Override
public void run() {
// TODO Auto-generated method stub
for (int i = 0; i <20; i++) {
many.dec();
}
}
}).start();
}
}
}
本文通过创建一个ManyThread类,设计了一个程序,该程序包含四个线程,其中两个线程负责将变量j递增,另外两个线程则负责将其递减,探讨了多线程环境下并发操作的问题。

被折叠的 条评论
为什么被折叠?



