簡介Webkit中AtomicString

簡要介紹一下webkit中有AtomicString

創建目的

爲了解決字符的超快速比較以及節省內存而生

應用場景

AtomicString大部分應用在保存腳本關鍵字,或者出現頻率很高的字符串,例如HTML的各種tag,它們出現很頻繁,用AtomicString保存對後期的比較會非常快(對比指針就行)。

共享內存

同樣的字符串內容,不同的AtomicString實例會使用同樣一份字符串內存,

例如下面代碼:

AtomicString test2("123");

AtomicString test3("123");

test3不需要額外爲保存“123”而開闢內存,內部會自動和test2共享一份內存。

缺點

1.因內部需要一系列數據結構處理,實例創建比較耗時,比普通的String創建速度慢;

2. 跨線程使用須謹慎,因爲不同線程都自行維護一份AtomicString的數據結構,所以同樣內容的AtomicString在不同線程並非共享同一份內存。不同線程的AtomicString實例比較可能會錯誤,例如test2可能會不等於test3。不可多線程訪問同一個AtomicString.

 

本文結束。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章