Imagine you have an array being altered by one asynchronous process and then another asynchronous process reading from the same array. The modifications and reads happen synchronously. So, the big question here is: can the read process somehow access the array while it's being modified by the write process?
Based on my experience, it seems unlikely that the read process would be able to access the array while synchronous operations are happening. When a thread is busy with synchronous tasks, all resources it operates on (including the array) are blocked. Is this behavior a direct result of JavaScript being single-threaded, or is it explicitly specified in the language specifications?