согласно моему пониманию, если я использовал синхронизированный ключевое слово, то только один поток может войти и как только он выходит затем только другой thread.But, почему мой код ниже печатает иногда первые 2 Второй 2Невозможно понять выход
package com.vikash.GeeksForGeeks;
public class Test implements Runnable{
private static int count;
public synchronized void incrementCount()
{
count++;
System.out.println(Thread.currentThread().getName()+" "+count);
}
public static void main(String[] args) throws InterruptedException {
Thread t1=new Thread(new Test());
Thread t2=new Thread(new Test());
t1.start();t1.setName("First");
t2.start();t2.setName("Second");
t1.join();
t2.join();
System.out.println("Count Value="+count);
}
@Override
public void run() {
incrementCount();
}
}