Can you explain the trade-offs between different data structures in the context of a high-concurrency environment?