Я часто встречал эти термины. Есть ли разница между ними ч/б?
В следующем фрагменте кода Java метод является потокобезопасным:
class Counter {
private int i = 0;
public synchronized void inc() {
i++;
}
}
В контексте SessionFactory и Session в Hibernate тогда
SessionFactory (org.hibernate.SessionFactory) - A thread-safe
Session (org.hibernate.Session) - A single-threaded, short-lived object representing a
conversation between the application and the persistent store.
Я путаюсь здесь в понимании их определения.
Все, что я понимаю, это то, что поскольку SessionFactory является поточно-безопасным, любой поток сначала должен получить блокировку, а затем будет работать над этим, т. е. реализация гарантированно будет свободна от условий гонки при одновременном доступе нескольких потоков. (Обратите внимание, я написал одновременно, а не параллельно). После того, как один поток завершит свою работу, другой поток в очереди получит блокировку, и так далее. Никакие 2 потока не будут работать над ним точно в одно и то же время.
Сеанс не является потокобезопасным и представляет собой однопотоковую единицу работы. >.
Дело в том, что после сеансовой фабрики несколько сеансов (в сеансовой фабрике) будут развиваться, каждый из которых будет выполнять свою работу в своем собственном однопоточном режиме?