The answer is no. Only one thread can be the GTK main thread. That’s usually the OS level main thread, but for a Java application you’ll probably want it to be the Java main thread (the one that runs the Java main). But it can be whatever thread you prefer, as long as there’s only one. Never use GTK on any other thread.
GLib doesn’t really have a concept of main thread. Use however many threads you want. You’ll want to review the GMainContext tutorial. Just remember that GLib objects are not threadsafe unless documented otherwise, so they cannot be passed between different threads without synchronization.
You can create any thread you want; what you cannot do is use GTK API from multiple threads: only the thread that initialised GTK and started the main loop can use the GTK API. This is an immutable fact of how the graphics subsystem works.
If you have a long running operation running inside a thread that needs to update the UI you can schedule that update using the main loop, for instance using: