https://github.com/python/cpython/commit/4f0c267b40e52b83b2e1515aa0dd74eda31ae18a commit: 4f0c267b40e52b83b2e1515aa0dd74eda31ae18a branch: main author: sobolevn <[email protected]> committer: sobolevn <[email protected]> date: 2025-09-08T16:44:44+03:00 summary:
gh-138644: Update c-api docs of `PyInterpreterState` about PEP-684 (#138651) Co-authored-by: Peter Bierma <[email protected]> files: M Doc/c-api/init.rst diff --git a/Doc/c-api/init.rst b/Doc/c-api/init.rst index b99988f743dcf2..bb9e08acee14c2 100644 --- a/Doc/c-api/init.rst +++ b/Doc/c-api/init.rst @@ -1020,6 +1020,12 @@ code, or when embedding the Python interpreter: interpreter lock is also shared by all threads, regardless of to which interpreter they belong. + .. versionchanged:: 3.12 + + :pep:`684` introduced the possibility + of a :ref:`per-interpreter GIL <per-interpreter-gil>`. + See :c:func:`Py_NewInterpreterFromConfig`. + .. c:type:: PyThreadState @@ -1711,6 +1717,8 @@ function. You can create and destroy them using the following functions: haven't been explicitly destroyed at that point. +.. _per-interpreter-gil: + A Per-Interpreter GIL --------------------- @@ -1722,7 +1730,7 @@ being blocked by other interpreters or blocking any others. Thus a single Python process can truly take advantage of multiple CPU cores when running Python code. The isolation also encourages a different approach to concurrency than that of just using threads. -(See :pep:`554`.) +(See :pep:`554` and :pep:`684`.) Using an isolated interpreter requires vigilance in preserving that isolation. That especially means not sharing any objects or mutable _______________________________________________ Python-checkins mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3//lists/python-checkins.python.org Member address: [email protected]
