This issue was discussed in my Occam class ~28 years ago. Occam itself is an example of a concurrent/"parallel-by-default" programming language intended for a Transputer hardware environment (now retargetable to x86 etc.), but it's not the easiest of languages to learn:
https://en.wikipedia.org/wiki/Occam_(programming_language)
https://en.wikipedia.org/wiki/Transputer
https://en.wikipedia.org/wiki/KRoC