Eric Snow <ericsnowcurren...@gmail.com> added the comment:
I should have added something like this earlier, but here are key points to consider covering: * "main" interpreter is the original, created when the runtime initializes * historically almost always the only Python interpreter in a process * this is changing (more projects using subinterpreters, PEP 554) * in the "python" executable, subinterpreters available via extension modules (but uncommon) * it has extra responsiblities: * signal handling, in main thread * "pending calls", in main thread * not necessarily something to publicize :) * running in the "main" thread * can be taken over by a sub-interpreter, but not likely * execution *during* runtime initialization * usually (always?) the active interpreter during runtime finalization * others? * no strong link between interpreters (e.g. main <--> sub <--> sub) * no record of what interpreter was active (if any) when a subinterpreter was created * no "parent" interpreter * thread states may share thread ID * a bunch of stuff in the C-API and in the runtime still assumes that the main interpreter is running in the current OS thread * other stuff? Not all of that necessarily belongs there in the docs, but a lot of it does. :) ---------- nosy: +ncoghlan _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue36487> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com