-
場景4,分布式計算
查看全部 -
場景3,線程安全
查看全部 -
場景2,線程資源一致性
查看全部 -
場景1,線程資源持有
查看全部 -
??? 線程資源一致性(取自JDBC):
????????????如圖所示,請求響應虛線框中Part1、 PartN代表你的一個會話中的N個程序都要去完成一些事情,他們整體串起來就是一個事務。
????????Part1更新客戶信息,Part2更新訂單的信息,Part3更新訂單對應外部的交易流水號,Part4 支付回來。
????????以上操作必須保證原子性的同步更新,這種情況下 1~ N都會走 JDBC Connection
查看全部 -
??? 線程資源一致性(取自JDBC):
????????????如圖所示,請求響應虛線框中Part1、 PartN代表你的一個會話中的N個程序都要去完成一些事情,他們整體串起來就是一個事務。
????????Part1更新客戶信息,Part2更新訂單的信息,Part3更新訂單對應外部的交易流水號,Part4 支付回來。
????????以上操作必須保證原子性的同步更新,這種情況下 1~ N都會走 JDBC Connection 。
????????
查看全部 -
線程資源持有:
????????編寫一個程序的時候,多個 class 會依賴或使用同一份用戶數據;這一份用戶數據存在哪里比較好?
????????在程序中,每一個線程都是一個session,是客戶端與服務端進行交互的一個過程;在這種情景中,只要程序執行的線程相同的情況下,所操作的用戶就是相同的。
????????把用戶數據在執行程序1時就創建一個 ThreadLocal的本地變量,放入到 ThreadLocalMap 的 x 變量中,在執行 程序2、程序3 時就可以拿到當前線程分配到的用戶,而不會影響到其他線程的資源變量。
查看全部 -
ThreadLocal源碼中AtomicInteger是干嘛用的,事后查一下。
查看全部 -
原子性,就是ab兩個操作,要么都做,要么都不做。
一致性,a扣掉的錢和b加上的錢要一致。
隔離性,多事務并發的順序,對結果并不影響。
持久性,對于a扣掉了錢,突然宕機了,b要能保持好一致性。
查看全部 -
老師的意思是原來是對add()方法加鎖。實際生產中add()方法里可能存在對數據庫即IO或者redis即內存等一些操作。如果對這一步進行加鎖。每一次都要等這部分的時間。
而現在把鎖加載了set上面了。就變成小面基了。只是操作了下set,往里面add一個元素而已。
查看全部 -
看一下這一行代碼有點難度理解的時候,回頭再理解一下。
查看全部 -
關于jdbc保持事務一致性,這些請求都是一個線程發生的,那我就用一個鏈接去做。要知道是不是一個線程發生的,可以通過ThreadLocalMap
查看全部 -
當x.remove()把Main線程里面的set值去掉了,那么本來因為set值之后不走initialValue()方法這回就要走了
查看全部 -
ThreadLocal的簡單用法。不去get不會去觸發intitialValue()這個方法
查看全部 -
threadLocal 含義、特點和使用場景。
查看全部
舉報