https://medium.com/@luisalexandre.rodrigues/c-parallel-programming-working-with-concurrent-collections-part-i-57e1cb6ab00a