2020久久超碰欧美精品最新亚洲欧美日韩久久精品,国产福利电影一区二区三区,亚洲欧美日韩一区在线观看,亚洲国产欧美日韩欧美特级,亚洲欧美日韩成人一区久久,欧美日韩精品一区二区三区不卡,国产欧美日韩va另类影音先锋,亚洲欧美日韩久久精品,亚洲欧美日韩国产成人精品影院,亚洲国产欧美日韩精品一区二区三区,欧美日韩国产成人高清视频,日韩久久精品国产免费观看频道,久久人人爽人人爽从片av高清,国产精品综合一区二区

首頁技術文章正文

C/C++知識點:QSharedMemory學習

更新時間:2018-01-05 來源:黑馬程序員 瀏覽量:

I. 研究來由

在屏幕共享項目里需要用到共享內存,但是之前對QSharedMemory實在不熟悉,因此在Mac上使用了mmap,而windows系統使用了CreateFileMapping。既然QT提供了跨平臺共享內存機制,那么還是研究研究吧。

II. 注意事項

QSharedMemory雖然是跨平臺的進程間內存共享方案,但是在不同的平臺也是有不同的行為的,主要的區別是:

· windows平臺下,所有的進程退出后,即使進程crash,共享內存對象也會被內核銷毀。

· unix平臺下,如果有進程crash,導致沒有調用到QSharedMemory的析構函數的話,共享內存對象不會被內核銷毀。

以上兩句是看QT文檔所得,英文水平有限,不一定正確,請驗證

setNativeKey這種函數,會導致lock失敗,這意味著QT的共享機制被破壞了,所以還是不用了吧。

III. 演示代碼

QSharedMemory學習


本文版權歸黑馬程序員C/C++學院所有,歡迎轉載,轉載請注明作者出處。謝謝!


作者:黑馬程序員C/C++培訓學院


首發:http://c.itheima.com/


分享到:
在線咨詢 我要報名
和我們在線交談!