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(); } } }


上一篇:
下一篇:
切换中文