package WithonlySync;
public class Client {
public static void main(String[] args) throws Exception{
Count count=new Count();
Adder ad=new Adder(count);
Subtractor sb=new Subtractor(count);
Thread t1=new Thread(ad);
Thread t2=new Thread(sb);
[Link]();
[Link]();
[Link]();
[Link]();
[Link]([Link]);
}
}
package WithonlySync;
public class Count {
int value=0;
}
package WithonlySync;
public class Adder implements Runnable{
private Count count;
public Adder(Count count){
[Link]=count;
}
@Override
public void run() {
for(int i=0;i<10;i++){
synchronized(count) {
[Link] = [Link] + i;
}
[Link]([Link]);
}
}
}
package WithonlySync;
public class Subtractor implements Runnable{
private Count count;
public Subtractor(Count count){
[Link]=count;
}
@Override
public void run() {
for(int i=0;i<10;i++){
synchronized (count) {
[Link] = [Link] - i;
}
[Link]([Link]);
}
}
}