讀寫鎖的實現

來源:互聯網
上載者:User

標籤:http   art   for   問題   re   c   

讀寫鎖在多線程應用中經常用到。適用於讀線程多餘寫線程的場合。對讀線程讀取共用資源時不加鎖,而對寫線程寫共用資源時進行加鎖控制。先說一下讀線程式控制制:只要此時沒有寫操作,就可以進行讀取。

一旦有寫操作,則阻塞等待。對於寫線程來說,如果此時有讀線程正在讀取資源,則等待其讀取完,然後判斷是否所有的讀線程是否已經全部讀取完成,如果是,則開始寫共用資源。這樣可以提高效率。

但是有一個問題:如果有很多讀線程同時讀取資源,且比較耗時,而寫線程優先順序比較高,要及時對資源進行修改,這個時候不應該等所有的讀線程都讀取完成。而是立刻修改資源,針對這一點進行了改進。

 

1 (Ultra-simple C++ Read/Write Lock Class for Windows) [http://www.codeproject.com/Articles/16411/Ultra-simple-C-Read-Write-Lock-Class-for-Windows]

2 http://wenku.baidu.com/link?url=k91hn9b-kuGvOjYRbZvRh3rj3XyrnHdnm1THbmsb9o3N_idTWz017sYH5q6DZNZpPrXqxW4f4gqMt0iFL7jktPSGqy7DP9_5mTAyeYsN7Oy

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.