ThreadLocal大概有什麼用?
>>以Hibernate session為例
用ThreadLocal存儲Session Object,
若在多線程環境下,各線程所持有的session實例是不同的,那是因為ThreadLocal里存儲的Object只與當前線程關聯,其它線程是不會去共享這個Object的。就像局部變量一樣,它只屬這一區域。
1那你所謂的"若在多線程環境下" ,可否舉例?
2 那為什麼不直接用Thread的同步?
>>就像Hibernate一樣每個DAO transaction都是各持自己的session的
web application是多線程環境。
>>線程同步只是說使使多個線程同步獲取他們的共享資源
>>以Hibernate session為例
用ThreadLocal存儲Session Object,
若在多線程環境下,各線程所持有的session實例是不同的,那是因為ThreadLocal里存儲的Object只與當前線程關聯,其它線程是不會去共享這個Object的。就像局部變量一樣,它只屬這一區域。
1那你所謂的"若在多線程環境下" ,可否舉例?
2 那為什麼不直接用Thread的同步?
>>就像Hibernate一樣每個DAO transaction都是各持自己的session的
web application是多線程環境。
>>線程同步只是說使使多個線程同步獲取他們的共享資源