c++ 建立執行緒有很多辦法和輪子,qt也提供幾種。過一段時間不用就會淡忘,然後去找別人的分享。乾脆自己記錄下。
看documentation以及其他人分享的教程加上自己日常使用的理解,如果錯誤請指正。
qt 學習記錄:執行緒使用-繼承qthread,重寫run函式
壞處:如果執行緒很多的話建立和刪除開銷很大。
qt 學習記錄:執行緒使用-繼承qobject,使用movetothread
3 qthreadpool+qrunnable:提供了乙個全域性訊號池(也可以區域性,但是一般不用),如果需要大量執行緒時候可以用到,qthread建立和**會佔大量資源。
qt 學習記錄:執行緒使用-qthreadpool+qrunnable
4 qtconcurrent:區域性訊號池,賊方便。qfuture可以看進度和找錯誤。
qt 學習記錄:執行緒使用-qtconcurrent
qtconcurrent多執行緒安全
輸入輸出有嚴格要求,基本不用考慮。(涉及到共享記憶體、檔案修改等,我是不用qtconcurrent的)
qthread多執行緒安全
提供逐執行緒資料儲存
qthreadstorage
qt 學習記錄:qthread執行緒安全 qthreadstorage
實現wait、wake:
qmutex/qmutexlocker 加鎖
qwaitecondition 等待
qt 學習記錄:qthread執行緒安全 qmutex/qmutexlocker/qwaitecondition
檔案訪問:
qreadlocker/qwritelocker 自動讀寫鎖
qreadwritelocker 讀寫鎖
qt 學習記錄:qthread執行緒安全 readwritelocker讀寫鎖
保證執行緒同步:
qsemphore 互斥訊號量
qt 學習記錄:qthread執行緒安全 qsemphore
QT使用心得
下面就對這段時間qt的使用,做乙個簡單的總結。1 兩本書推薦qt開發書籍 c gui qt4程式設計 入門書籍,裡面通過翔實的案例介紹了大量qt基本概念 程式設計技巧,對於初學者來說不可不讀。qt 高階程式設計 高階資料,裡面最有幫助的是介紹模型檢視結構的內容,可以精讀一下。2 qt的幫助文件 在安...
pymysql使用心得記錄
該記錄對應文章 豆瓣電影top250基本資訊抓取 折騰了將近兩天才把mysql資料庫功能給實現了。經過這兩天的實踐,發現了自己的很多知識點漏洞。尤其是資料編碼型別。每次要想實現把資料存入txt或其他文字檔案,都要花費好長時間,雖然大致實現思路很清晰,但是總是會遇到很多細枝末節的障礙,基礎不牢啊。說說...
pymysql使用心得記錄
該記錄對應文章 豆瓣電影top250基本資訊抓取 折騰了將近兩天才把mysql資料庫功能給實現了。經過這兩天的實踐,發現了自己的很多知識點漏洞。尤其是資料編碼型別。每次要想實現把資料存入txt或其他文字檔案,都要花費好長時間,雖然大致實現思路很清晰,但是總是會遇到很多細枝末節的障礙,基礎不牢啊。說說...