Given a proficient sequential programmer, the single most important lesson on parallelism is shown below.
On hot code paths, avoid global locks and updates to global
variables:
Instead, lock data rather than code, and partition oft-written
data across data-structure instances, across CPUs, or across threads:
Is this all you need to know?
Absolutely not!!! But it an excellent place to start.