C++11多线程编程相关的一些知识点:
一、非模板线程类:thread
1)默执行、显构造、变长构造可带参
2)右拷贝(thread(&&))、右赋值(thread=(&&))、交换(swap)id(get_id)防崩join、detach
二、非模板互斥量:mutex(继承自_Mutex_base)
1)上锁(lock)解锁(unlock)尝试锁(try_lock)
2)互斥(mutex)单(次上)锁,递归(recursive_mutex)(同线程)多锁(类似引用计数),还有超时(timed_mutex)递归(recursive_timed_mutex)锁
3)持续(try_lock_for)直至(try_lock_until:timeout/time point)模板卫(lock_guard、unique_lock)
三、非模板条件变量:condition_variable
1)普(通条件变量)(condition_variable)唯一(unique_lock)、等待锁(wait)、单通(notify_one)全通(notify_all)超时锁(wait_until)、
2)任意变量(condition_variable_any)任意锁
四、原子模板类:atomic
五、线程局部存储类:thread_local
六、异步执行:async
七、线程返回:future