在多個執行緒通過同乙個連線給redis-server傳送命令時,會有概率出現某個執行緒傳送的命令接收不到的情況
呼叫rediscommand函式會通過redisgetreply獲取命令結果,而redisgetreply會直到recv返回空才會返回,所以,當乙個執行緒呼叫redisgetreply時,另乙個執行緒的結果剛好也返回,那麼本執行緒的redisgetreply會把所有命令結果全部讀取出來,等另乙個執行緒再呼叫redisgetreply時,就獲取不到結果了。
在多執行緒對同乙個redis連線呼叫rediscommand函式時加上乙個同步鎖,這就避免出現乙個執行緒傳送的命令被其他執行緒獲取的問題
開發注意事項
一 編碼方面 1.ui層面的東西,盡量畫素級復現設計稿,做完之後在ie,firefox,chrome中預覽一遍,確認沒有問題。2.拿到設計稿之前,對業務需求要有所了解,拿到設計稿之後進行推演,檢查互動是否有誤,如果有誤再三確認之後再開始做。3.元件書寫方式,如果輸入的資料能保持一致,則元件裡面處理資...
c 開發注意事項
一 在win7x64 位使用.accdb 的資料庫 在win7x64 位下使用 microsoft access jet4.0 驅動,提示未註冊,不能開啟 mdb檔案,可使用 microsoft office access ace 12.0 驅動,開啟 accdb 的資料庫,可在 offfic ac...
JS開發注意事項
1 不要定義全域性函式如location,否則有的瀏覽器會出現詭異的現象。全域性物件就是定義在window物件中。2 js 匿名函式執行 兩個小括號 funcation 等同於 funcation foo foo 3 call方法 改變函式的上下文,即函式中this的指向。當乙個object沒有某個...