Често срещах тези термини. Разликата между тях двамата ли е?
В следната част от кода на 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 нишки няма да работят върху него точно по едно и също време.
Сесията не е безопасна за нишки и представлява единица работа с една нишка.
Дали след сесийна фабрика множество сесии (в сесийна фабрика) ще се развиват, всяка от които обхваща собствената си работа в собствената си единична нишка?