為啥Vector類不是絕對執行緒安全

2021-09-25 14:50:05 字數 350 閱讀 9167

深入理解jvm裡面講到vector類不是絕對執行緒安全,**:

private static vectorvector = new vector<>();

public static void main(string args) throws excption

thread removet = new thread(new runnable()

}

這段**有下標越界的異常可能:**中迴圈的時候有個下標i,同步會阻塞在remove和get,但是i已經定了,如果你恰好去查詢的下標是最後乙個,但是在你獲取鎖之前另乙個執行緒給他刪了就會異常。

如果理解有誤,懇求指正,謝謝

為啥使用B 樹而不是B樹

innodb和myisam為什麼使用b 樹而不是b樹。這個問題最好還是要搞懂一點。因為我這裡很有可能會問到這方面的。我也很想和別人扯索引,然後就會扯到這個。加油。b樹特點 1 m叉搜尋,降低高度 2 所有的節點都儲存資料。3 中序遍歷可以得到乙個排序好的索引。為什麼可以建索引 就是可以降低高度,然後...

vector類基本用法

vector類為內建陣列提供了一種替代表示,與string類一樣 vector 類是隨標準 c 引入的標準庫的一部分 為了使用vector 我們必須包含相關的標頭檔案 include 使用vector有兩種不同的形式,即所謂的陣列習慣和 stl習慣。1.定義乙個已知長度的 vector vector...

vector類使用介紹

標準庫型別vector表示物件的集合,其中所有物件的型別都相同。它是可變大小的陣列,支援快速隨機訪問。因為 vector 容納著 其他物件,所以也常被稱為容器。想要使用 vector,必須包含適當的標頭檔案。假定在後續的例子中都進行了如下宣告 includeusing namespace std t...