你一定聽説過 Go 語言所倡導的這個核心併發原則:“不要通過共享內存來通信,而要通過通信來共享內存 (Don't communicate by sharing memory; instead, share memory by communicating)”。這一理念深刻影響了 Go 的併發設計。
本文將具體討論 Go 中的 併發控制機制 (concurrency control mechanism
Once
單例對象:在整個應用程序的生命週期中,只有一個實例存在,並提供一個全局統一的訪問點來獲取這個唯一的實例
應用場景:數據庫連接池,全局配置管理器,日誌記錄器 (Logger)
Once 是在 Go 語言中實現線程安全的單例模式的完美且最地道的工具
使用 Once 可能出現的 2 種錯誤
第一種錯誤:死鎖
once.Do()中再次調用once.Do()
第二種錯誤
Tab頁切換
完成固定footer佈局後,我想要在footer中添加幾個按鈕,來控制中間部分顯示的頁面,類似微信。因此我需要實現一個tab切換的功能,我這裏用到了Weex提供的slider組件。
template
div class="wrapper"
slider class="tab-container" auto-play="false" v-bind:index="sel" v