enable C++11
Add threading design patterns