Chromium 怎樣安全的使用PostTask

2021-09-07 16:53:37 字數 882 閱讀 7000

官方的解釋總是最權威。有疑問看這裡或者直接看**中的說明: bind_helpers.h. 

傳值方式描寫敘述

this 或 物件指標

假設物件本身是乙個refcountedthreadsafe, 沒有問題.

假設是個裸指標,應當盡量避免,除非你能夠保證它的執行緒安全.

base::unretained

注意:使用這個的前提是有其他同步機制保障物件的生命週期.

假設有其他同步機制保障物件的生命週期。能夠使用unretained()傳遞非引用計數的物件.

假設是乙個非引用計數的物件,能夠使用unretained()封裝起來.

base::owned

假設是暫時物件,或者操心任務執行完畢後物件可能出現洩露,能夠使用owned, 表示由task

持有物件的全部權,在結束時析構它.

base::passed

假設要執行task須要傳入scoped指標,就能夠使用它轉換,它也能夠避免拷貝,而是相似move語義.

base::constref

相似常量引用,不希望bind過程出現拷貝,就能夠使用它.

base::ignoreresult

假設task要呼叫的方法帶有返回值。而你又不關心返回值就能夠使用ignoreresult來傳入物件指標.

假設這樣一直將以引用計數來使用物件豈不最為簡單。為什麼要避免引用計數?

chromium智慧型指標指引中的解釋:

還能夠參考: 慎重使用智慧型指標.

關於callback和bind對物件全部權更完整的解釋

Chromium 如何安全的使用PostTask

官方的解釋總是最權威,有疑問看這裡或者直接看 中的說明 bind helpers.h.傳值方式描述 this 或 物件指標 如果物件本身是乙個refcountedthreadsafe,沒有問題 如果是個裸指標,應當盡量避免,除非你可以保證它的執行緒安全 base unretained 注意 使用這個...

CentOS6 4 使用谷歌Chromium瀏覽器

那麼,如果希望在centos rhel 7出來之前繼續使用chrome怎麼辦?使用chrome的開源版本 chromium。1 切換到root su 或者 sudo i cd etc yum.repos.d wget 3 安裝chromium yum install chromium 這樣就安裝完成...

chromium的安裝程式

這篇文章主要簡單講解chromium的安裝程式mini installer 在編譯mini installer時,要更改編譯的引數把component設定為static library,不然編譯出來的mini staller會報 mini installer.exe is incompatible ...