This is done just for purity's sake and is not related to multithreading.
If you do not intend for a global variable to be used outside of the code module in which it is declared, you should declare the variable static so that the compiler does not export it from the code module. I believe that this is why the examples are written this way.