windows when rendering to FBOs from many threads

Here is the deal: I want to render to FBO only, I don’t need any window for my program. But I guess I need to call CreateWindow to get device context and rendering context, don’t I?

  1. So a window is needed even when rendering to FBO only?
  2. When I want to render from multiple threads to multiple FBOs (there is 1 FBO corresponding to 1 thread) do I also need a separate window per thread? Couldn’t I just reuse one window (as long as it is needed at all - see 1. ) for every thread-FBO pair without any loss in performance (synchronization penalty)?
  3. Is this behaviour platform specific? Specifically I’m interested in WinAPI and Xlib.