一.如果只是簡單地解決在多線程中對共享資源的讀寫併發問題,只需要用C++以下內容: 線程類 thread, 原子數據類模板 atomic<T> t, 互斥 mutex, 鎖 lock, 條件變量 condition_variables.
typedef enum memory_order { memory_order_relaxed, // 不對執行順序做保證 memory_order_acquire, // 本線程中,所有後續的讀操作必須在本條原子操作完成後執行 memory_order_release, // 本線程中,所有之前的寫操作完成後才能執行本條原子操作 memory_order_acq_rel, // 同時包含 memory_order_acquire 和 memory_order_release memory_order_consume, // 本線程中,所有後續的有關本原子類型的操作,必須在本條原子操作完成之後執行 memory_order_seq_cst // 全部存取都按順序執行 } memory_order;