MIT-Curricular/OOP/Java/Lab/syncStatements.java

45 lines
903 B
Java
Raw Normal View History

2024-10-14 09:28:53 +05:30
class IncrementThread extends Thread{
Incrementer ref;
IncrementThread(Incrementer obj)
{
ref=obj;
}
public void run()
{
for(int i=0;i<10000;i++)
{
ref.increment();
}
}
}
class Incrementer{
int count;
Incrementer(int cnt)
{
count=cnt;
}
void increment()
{
synchronized(this)
{
count++;
}
}
}
class syncMethod{
public static void main(String[] args) {
Incrementer inc=new Incrementer(0);
IncrementThread t1=new IncrementThread(inc);
IncrementThread t2=new IncrementThread(inc);
t1.start();
t2.start();
try {
t1.join();
t2.join();
} catch (InterruptedException e) {
System.out.println(e.toString());
}
System.out.println(inc.count);
}
}