91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么理解多核查找

發布時間:2021-11-17 16:15:41 來源:億速云 閱讀:133 作者:iii 欄目:web開發

本篇內容主要講解“怎么理解多核查找”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么理解多核查找”吧!

在CDHashArray中,對數組的插入和刪除都是順序化的操作,查找也是近似于順序化的操作,看起來似乎會很慢。實際上對于小數組,比如只有幾個或十來個數組,其效率并不慢,這使得以前在單核時代無法用于大型查找的數組順序查找,在多核時代卻可以得到很好應用前景。

二級查找結構基本思想

要了解多級數據結構設計,首先得知道基本的二級查找數據結構設計思想。

二級查找結構就是在第1級查找時找到二級子表的位置,然后在找到的二級子表中進行第二次查找來找到對應的目標數據。

典型的二級查找結構示意圖如下:

怎么理解多核查找

圖 16.2.1: 二級查找結構示意圖

二級查找結構由一級查找表和二級子表構成,一個查找表中的每個節點指向一個二級查找子表。查找時,先將關鍵詞映射成一級查找表的位置,然后將對應位置的二級子表取出,在子表中找到對應的查找目標數據。

Intel Threading Building Blocks(TBB)開源項目中,其中的concurrent_hash_map使用的就是一種最簡單的二級查找結構。它使用了哈希表式的數據結構,并給哈希表的每個桶設一把鎖。

對于普通的查找,這種簡單的二級查找結構也許夠用了,但是對于一些大型的查找,這種簡單的二級查找結構并不能滿足。首先的問題是如果子表數量過多,則鎖的數量也非常多,鎖本身需要占用大量的內存開銷。

如 果子表數量過少,那么又會引起另外一個重要的問題,那就是負載平衡問題。因為這種情況中有可能各個二級子表中的數據數量相差非常大,這將導致某些子表的訪 問量很少,而某些子表的訪問量很大。這些訪問量大的表很容易發生多個線程同時訪問的情況,從而導致集中式鎖競爭情況的發生。

為了解決二級查找結構中的不足,下面來看看多級查找結構的設計思想。

多級查找結構設計思想

多級查找結構是在二級查找結構的基礎上設計的,當某個子表中數據個數過多時,可以將其拆分成兩個或更多個子表,同時新建一個索引表來指向這幾個拆分候的子表,指向原來子表的指針指向新建的索引表。

如果拆分后的子表內插入的數據過多時,可以繼續將其分拆,這樣一直分拆下去,將形成一個多級的查找數據結構。

到此,相信大家對“怎么理解多核查找”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

赤峰市| 三穗县| 柞水县| 嘉兴市| 夏邑县| 耒阳市| 星子县| 淮安市| 门头沟区| 毕节市| 江达县| 洞头县| 宽甸| 饶河县| 莒南县| 海盐县| 兴业县| 花莲市| 鄂州市| 荣昌县| 宁夏| 龙游县| 惠州市| 哈巴河县| 灯塔市| 佳木斯市| 扶沟县| 闵行区| 萍乡市| 邓州市| 政和县| 五河县| 板桥市| 高陵县| 平邑县| 新巴尔虎右旗| 正镶白旗| 商洛市| 铅山县| 红桥区| 潜山县|