原创 Java併發編程實戰 第6章 任務執行

6.1 在線程中執行任務 在理想情況下,各個任務之間時相互獨立的:任務並不依賴於其他任務的狀態、結果、邊界效應。 應用程序性希望支持儘可能多的用戶,從而降低每個用戶的服務成本,而用戶則希望獲得儘快的響應。 6.1.1串行的執行任務

原创 C++11-initializer_list

模板initializer_list是C++11新增的,可以使用初始化列表語法將STL容器初始化爲一系列值。 vector v {1, 2, 3}; 等價於 vector v({1, 2, 3}); 這是因爲容器類現在包含將

原创 C++11-智能指針和空指針

nullptr 空指針是不會指向有效數據的指針,以前用0表示,但是這使得0既可表示指針常量,又可表示整型常量。C++11仍允許使用0來表示空指針,因此表達式nullptr==0爲true,使用nullptr表示空指針而不是0提供了更高的

原创 STL中set的insert操作的返回值

#include <iostream> #include <set> using namespace std; int main() { set<int> s; s.insert(1); //返回值爲pa

原创 Java併發編程實戰 第5章 基礎構建模塊

委託是創建線程安全類的一個最有效的策略:只需讓現有的線程安全類管理所有的狀態即可。 5.1 同步容器類 如果不希望在迭代期間對容器加鎖,那麼一種替代方案就是克隆容器,並在副本上進行迭代。由於副本被封閉在線程內,因此其他線程不會在迭

原创 Java併發編程實戰 第4章 對象的組合

4.1 設計線程安全的類 三要素: 找出構成對象狀態的所有變量 找出約束狀態變量的不變性條件 建立對象狀態的併發訪問管理策略 4.1.1 收集同步需求 狀態空間:對象與變量的所有可能取值。狀態空間越小,越容易判斷線程的狀態。f