Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.concurrent.atomic.AtomicInteger;
- public class ThreadSafeIntegerIncrementTestClass
- {
- volatile static int simpleInt = 0;
- static AtomicInteger atomicInteger = new AtomicInteger(0);
- static int synchronizedGetterInteger = 0;
- public synchronized static void syncronizedIncrementer()
- {
- synchronizedGetterInteger++;
- }
- public static void main(final String... args) throws InterruptedException
- {
- class IncrementerThread extends Thread implements Runnable
- {
- @Override
- public void run()
- {
- for(int i = 0 ; i<1000; i++)
- {
- ThreadSafeIntegerIncrementTestClass.simpleInt++;
- ThreadSafeIntegerIncrementTestClass.atomicInteger.incrementAndGet();
- ThreadSafeIntegerIncrementTestClass.syncronizedIncrementer();
- }
- }
- }
- final ArrayList<IncrementerThread> threadList = new ArrayList<IncrementerThread>();
- for(int i = 0; i<1000; i++)
- threadList.add(new IncrementerThread());
- for(final IncrementerThread currentThread : threadList)
- currentThread.start();
- for(final IncrementerThread currentThread : threadList)
- currentThread.join();
- System.out.println(simpleInt);
- System.out.println(atomicInteger);
- System.out.println(synchronizedGetterInteger);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement