Контейнер EJB 3.1, управляемый параллелизмом vs . synchronized

Я начал читать об одноэлементном сеансовом компоненте и аннотациях, используемых для использования параллелизма, управляемого контейнером. Я не вижу пользы от этого по сравнению с простым использованием ключевого слова synchronized, поэтому подозреваю, что мне не хватает чего-то важного. Рассмотрим этот пример из книги « Enterprise JavaBeans 3.1 » Рубинджер и Берк, О'Рейли:

@javax.ejb.Lock(javax.ejb.LockType.READ)
public String concurrentReadOnlyMethod(){...}

@javax.ejb.Lock(javax.ejb.LockType.WRITE)
public void allowOnlyOneWriteAtATimeMethod(String stringToSet){...}

Как это лучше, чем пропускать аннотации вместе в случае чтения и использовать синхронизированное ключевое слово в случае записи, например:

public String concurrentReadOnlyMethod(){...}

public synchronized void allowOnlyOneWriteAtATimeMethod(String stringToSet){...}

9
задан Guido 24 August 2011 в 22:28
поделиться