• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 通通透透理解ThreadLocal

    發表于:2008-04-30來源:作者:點擊數: 標簽:ThreadLocal
    關鍵字:通通透透理解ThreadLocal 概述 我們知道Spring通過各種DAO模板類降低了 開發 者使用各種數據持久技術的難度。這些模板類都是線程 安全 的,也就是說,多個DAO可以復用同一個模板實例而不會發生沖突。 我們使用模板類訪問底層數據,根據持久化技術的不
    關鍵字:通通透透理解ThreadLocal

    概述

    我們知道Spring通過各種DAO模板類降低了開發者使用各種數據持久技術的難度。這些模板類都是線程安全的,也就是說,多個DAO可以復用同一個模板實例而不會發生沖突。

    我們使用模板類訪問底層數據,根據持久化技術的不同,模板類需要綁定數據連接或會話的資源。但這些資源本身是非線程安全的,也就是說它們不能在同一時刻被多個線程共享。

    雖然模板類通過資源池獲取數據連接或會話,但資源池本身解決的是數據連接或會話的緩存問題,并非數據連接或會話的線程安全問題。

    按照傳統經驗,如果某個對象是非線程安全的,在多線程環境下,對對象的訪問必須采用synchronized進行線程同步。但Spring的DAO模板類并未采用線程同步機制,因為線程同步限制了并發訪問,會帶來很大的性能損失。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>