Statement
"Is ... thread safe? No. However, OpenGL is not."
wrong. OpenGL, of course, is thread safe.
Here's the deal: for each thread, either one or no context OpenGL can be tied to drawable (made current). OpenGL calls work in a context that is active in the thread from which the calls are made. It is possible to pass an OpenGL context between threads. For this, the context that needs to be transferred must be disconnected, then it can be a rebound in another thread.
Each OpenGL context manages its own set of state variables and objects (textures, buffers). However, the context may be "confused", i.e. Separate the space of objects. However, the state is still individual.
A single draw (window, PBuffer) can have several contexts from different flows to which it is attached. If contexts from different threads refer to the same conditions derived from the race condition, and the results are undefined. However, in the case of checking the depth, the result should be reasonable. However, simultaneous drawing on one drawing will greatly degrade performance, so it is better to avoid it.
The main use of multiple OpenGL contexts in multiple threads is to share their objects so that one thread can load and update data for another context. It makes sense to attach helper contexts to screens or hidden drawings to prevent race conditions.
There is no technical difference between the threads. From a programming point of view, each thread will have slightly different semantics that are superimposed by the program, not the system. For most OpenGL applications, the traditional semantics is that the main thread will create a window, draw all the elements visible to the user (including OpenGL operations), and collect user input. Threads launched from the main thread are workflows without direct user interaction. However, the distribution of this task is purely optional and because it turned out to work well. But it is quite possible, and sometimes advisable, to use a different scheme. And, as already mentioned, there is no technical difference in the flows within the program. All topics are citizens with equal rights in the process.