import javax.transaction.*;
public class JTAExample {
public static void main(String[] args) throws SystemException {
TransactionManager tm = com.arjuna.ats.jta.TransactionManager.transactionManager();
UserTransaction utx = com.arjuna.ats.jta.UserTransaction.userTransaction();
try {
utx.begin();
utx.commit();
} catch (Exception e) {
utx.rollback();
}
}
}
public class SynchronizedExample {
private int count = 0;
public synchronized void increment() {
count++;
}
public synchronized void decrement() {
count--;
}
}
import java.util.concurrent.locks.*;
public class ReentrantLockExample {
private int count = 0;
private Lock lock = new ReentrantLock();
public void increment() {
lock.lock();
try {
count++;
} finally {
lock.unlock();
}
}
public void decrement() {
lock.lock();
try {
count--;
} finally {
lock.unlock();
}
}
}
import java.util.concurrent.locks.*;
public class ReadWriteLockExample {
private int count = 0;
private ReadWriteLock lock = new ReentrantReadWriteLock();
public void increment() {
lock.writeLock().lock();
try {
count++;
} finally {
lock.writeLock().unlock();
}
}
public int getValue() {
lock.readLock().lock();
try {
return count;
} finally {
lock.readLock().unlock();
}
}
}