题目:设计 4 个线程对象,两个线程执行减操作,两个线程执行加操作
注:这个程序的核心本质在于:加一个,减一个,整体的计算结果应该只在0,-1,1之间循环出现。
package Thread;
class Resource1{
//定义一个操作的资源
private int num = 0; //这个要进行加减操作的数据
private boolean flag = true; //加减的切换
//flag = true; 表示可以进行加法操作,但无法进行减法操作
//flag = false; 表示可以进行减法操作,但无法进行加法操作
/*synchronized 同步并发线程*/
public synchronized void add() throws Exception{
if(this.flag == false){
//现在需要执行的是加法操作,减法操作要等待
super.wait();
}
Thread.sleep(100); //延迟线程
this.num++; /*获取当前线程名称*/
System.out.println("[加法操作 - " + Thread.