@@ -12,7 +12,7 @@ msgid ""
1212msgstr ""
1313"Project-Id-Version : Python 3.14\n "
1414"Report-Msgid-Bugs-To : \n "
15- "POT-Creation-Date : 2025-11-25 14:15+0000\n "
15+ "POT-Creation-Date : 2025-11-27 14:15+0000\n "
1616"PO-Revision-Date : 2025-09-16 00:00+0000\n "
1717"Last-Translator : Freesand Leo <yuqinju@163.com>, 2025\n "
1818"Language-Team : Chinese (China) (https://app.transifex.com/python-doc/teams/5390/zh_CN/)\n "
@@ -3906,6 +3906,257 @@ msgstr ""
39063906" PyCriticalSection2_End(&_py_cs2);\n"
39073907"}"
39083908
3909+ #: ../../c-api/init.rst:2714
3910+ msgid "Legacy Locking APIs"
3911+ msgstr "旧式加锁 API"
3912+
3913+ #: ../../c-api/init.rst:2716
3914+ msgid ""
3915+ "These APIs are obsolete since Python 3.13 with the introduction of "
3916+ ":c:type:`PyMutex`."
3917+ msgstr "这些 API 自 Python 3.13 起已随 :c:type:`PyMutex` 的引入而过时。"
3918+
3919+ #: ../../c-api/init.rst:2719
3920+ msgid "These APIs are now a simple wrapper around ``PyMutex``."
3921+ msgstr "这些 API 现在是针对 ``PyMutex`` 的简单包装器。"
3922+
3923+ #: ../../c-api/init.rst:2725
3924+ msgid "A pointer to a mutual exclusion lock."
3925+ msgstr "一个指向互斥锁的指针。"
3926+
3927+ #: ../../c-api/init.rst:2730
3928+ msgid "The result of acquiring a lock with a timeout."
3929+ msgstr "附带超时获取锁操作的结果。"
3930+
3931+ #: ../../c-api/init.rst:2736
3932+ msgid "Failed to acquire the lock."
3933+ msgstr "获取锁失败。"
3934+
3935+ #: ../../c-api/init.rst:2740
3936+ msgid "The lock was successfully acquired."
3937+ msgstr "锁已被成功获取。"
3938+
3939+ #: ../../c-api/init.rst:2744
3940+ msgid "The lock was interrupted by a signal."
3941+ msgstr ""
3942+
3943+ #: ../../c-api/init.rst:2749
3944+ msgid "Allocate a new lock."
3945+ msgstr ""
3946+
3947+ #: ../../c-api/init.rst:2751
3948+ msgid ""
3949+ "On success, this function returns a lock; on failure, this function returns "
3950+ "``0`` without an exception set."
3951+ msgstr ""
3952+
3953+ #: ../../c-api/init.rst:2754 ../../c-api/init.rst:2766
3954+ #: ../../c-api/init.rst:2786 ../../c-api/init.rst:2804
3955+ #: ../../c-api/init.rst:2812 ../../c-api/init.rst:2835
3956+ #: ../../c-api/init.rst:2919 ../../c-api/init.rst:2927
3957+ msgid "The caller does not need to hold an :term:`attached thread state`."
3958+ msgstr ""
3959+
3960+ #: ../../c-api/init.rst:2756
3961+ msgid ""
3962+ "This function now always uses :c:type:`PyMutex`. In prior versions, this "
3963+ "would use a lock provided by the operating system."
3964+ msgstr ""
3965+
3966+ #: ../../c-api/init.rst:2763
3967+ msgid ""
3968+ "Destroy *lock*. The lock should not be held by any thread when calling this."
3969+ msgstr ""
3970+
3971+ #: ../../c-api/init.rst:2771
3972+ msgid "Acquire *lock* with a timeout."
3973+ msgstr ""
3974+
3975+ #: ../../c-api/init.rst:2773
3976+ msgid ""
3977+ "This will wait for *microseconds* microseconds to acquire the lock. If the "
3978+ "timeout expires, this function returns :c:enumerator:`PY_LOCK_FAILURE`. If "
3979+ "*microseconds* is ``-1``, this will wait indefinitely until the lock has "
3980+ "been released."
3981+ msgstr ""
3982+
3983+ #: ../../c-api/init.rst:2778
3984+ msgid ""
3985+ "If *intr_flag* is ``1``, acquiring the lock may be interrupted by a signal, "
3986+ "in which case this function returns :c:enumerator:`PY_LOCK_INTR`. Upon "
3987+ "interruption, it's generally expected that the caller makes a call to "
3988+ ":c:func:`Py_MakePendingCalls` to propagate an exception to Python code."
3989+ msgstr ""
3990+
3991+ #: ../../c-api/init.rst:2783
3992+ msgid ""
3993+ "If the lock is successfully acquired, this function returns "
3994+ ":c:enumerator:`PY_LOCK_ACQUIRED`."
3995+ msgstr ""
3996+
3997+ #: ../../c-api/init.rst:2791
3998+ msgid "Acquire *lock*."
3999+ msgstr ""
4000+
4001+ #: ../../c-api/init.rst:2793
4002+ msgid ""
4003+ "If *waitflag* is ``1`` and another thread currently holds the lock, this "
4004+ "function will wait until the lock can be acquired and will always return "
4005+ "``1``."
4006+ msgstr ""
4007+
4008+ #: ../../c-api/init.rst:2797
4009+ msgid ""
4010+ "If *waitflag* is ``0`` and another thread holds the lock, this function will"
4011+ " not wait and instead return ``0``. If the lock is not held by any other "
4012+ "thread, then this function will acquire it and return ``1``."
4013+ msgstr ""
4014+
4015+ #: ../../c-api/init.rst:2801
4016+ msgid ""
4017+ "Unlike :c:func:`PyThread_acquire_lock_timed`, acquiring the lock cannot be "
4018+ "interrupted by a signal."
4019+ msgstr ""
4020+
4021+ #: ../../c-api/init.rst:2809
4022+ msgid ""
4023+ "Release *lock*. If *lock* is not held, then this function issues a fatal "
4024+ "error."
4025+ msgstr ""
4026+
4027+ #: ../../c-api/init.rst:2816
4028+ msgid "Operating System Thread APIs"
4029+ msgstr ""
4030+
4031+ #: ../../c-api/init.rst:2820
4032+ msgid "Sentinel value for an invalid thread ID."
4033+ msgstr ""
4034+
4035+ #: ../../c-api/init.rst:2822
4036+ msgid "This is currently equivalent to ``(unsigned long)-1``."
4037+ msgstr ""
4038+
4039+ #: ../../c-api/init.rst:2827
4040+ msgid ""
4041+ "Start function *func* in a new thread with argument *arg*. The resulting "
4042+ "thread is not intended to be joined."
4043+ msgstr ""
4044+
4045+ #: ../../c-api/init.rst:2830
4046+ msgid "*func* must not be ``NULL``, but *arg* may be ``NULL``."
4047+ msgstr ""
4048+
4049+ #: ../../c-api/init.rst:2832
4050+ msgid ""
4051+ "On success, this function returns the identifier of the new thread; on "
4052+ "failure, this returns :c:macro:`PYTHREAD_INVALID_THREAD_ID`."
4053+ msgstr ""
4054+
4055+ #: ../../c-api/init.rst:2840
4056+ msgid "Return the identifier of the current thread, which will never be zero."
4057+ msgstr ""
4058+
4059+ #: ../../c-api/init.rst:2842 ../../c-api/init.rst:2874
4060+ msgid ""
4061+ "This function cannot fail, and the caller does not need to hold an "
4062+ ":term:`attached thread state`."
4063+ msgstr ""
4064+
4065+ #: ../../c-api/init.rst:2846
4066+ msgid ":py:func:`threading.get_ident`"
4067+ msgstr ""
4068+
4069+ #: ../../c-api/init.rst:2851
4070+ msgid ""
4071+ "Get general information about the current thread in the form of a "
4072+ ":ref:`struct sequence <struct-sequence-objects>` object. This information is"
4073+ " accessible as :py:attr:`sys.thread_info` in Python."
4074+ msgstr ""
4075+
4076+ #: ../../c-api/init.rst:2855
4077+ msgid ""
4078+ "On success, this returns a new :term:`strong reference` to the thread "
4079+ "information; on failure, this returns ``NULL`` with an exception set."
4080+ msgstr ""
4081+
4082+ #: ../../c-api/init.rst:2858
4083+ msgid "The caller must hold an :term:`attached thread state`."
4084+ msgstr ""
4085+
4086+ #: ../../c-api/init.rst:2863
4087+ msgid "This macro is defined when the system supports native thread IDs."
4088+ msgstr ""
4089+
4090+ #: ../../c-api/init.rst:2868
4091+ msgid ""
4092+ "Get the native identifier of the current thread as it was assigned by the "
4093+ "operating system's kernel, which will never be less than zero."
4094+ msgstr ""
4095+
4096+ #: ../../c-api/init.rst:2871
4097+ msgid ""
4098+ "This function is only available when :c:macro:`PY_HAVE_THREAD_NATIVE_ID` is "
4099+ "defined."
4100+ msgstr ""
4101+
4102+ #: ../../c-api/init.rst:2878
4103+ msgid ":py:func:`threading.get_native_id`"
4104+ msgstr ""
4105+
4106+ #: ../../c-api/init.rst:2883
4107+ msgid ""
4108+ "Terminate the current thread. This function is generally considered unsafe "
4109+ "and should be avoided. It is kept solely for backwards compatibility."
4110+ msgstr ""
4111+
4112+ #: ../../c-api/init.rst:2886
4113+ msgid ""
4114+ "This function is only safe to call if all functions in the full call stack "
4115+ "are written to safely allow it."
4116+ msgstr ""
4117+
4118+ #: ../../c-api/init.rst:2891
4119+ msgid ""
4120+ "If the current system uses POSIX threads (also known as \" pthreads\" ), this "
4121+ "calls :manpage:`pthread_exit(3)`, which attempts to unwind the stack and "
4122+ "call C++ destructors on some libc implementations. However, if a "
4123+ "``noexcept`` function is reached, it may terminate the process. Other "
4124+ "systems, such as macOS, do unwinding."
4125+ msgstr ""
4126+
4127+ #: ../../c-api/init.rst:2897
4128+ msgid ""
4129+ "On Windows, this function calls ``_endthreadex()``, which kills the thread "
4130+ "without calling C++ destructors."
4131+ msgstr ""
4132+
4133+ #: ../../c-api/init.rst:2900
4134+ msgid "In any case, there is a risk of corruption on the thread's stack."
4135+ msgstr ""
4136+
4137+ #: ../../c-api/init.rst:2907
4138+ msgid ""
4139+ "Initialize ``PyThread*`` APIs. Python executes this function automatically, "
4140+ "so there's little need to call it from an extension module."
4141+ msgstr ""
4142+
4143+ #: ../../c-api/init.rst:2913
4144+ msgid "Set the stack size of the current thread to *size* bytes."
4145+ msgstr ""
4146+
4147+ #: ../../c-api/init.rst:2915
4148+ msgid ""
4149+ "This function returns ``0`` on success, ``-1`` if *size* is invalid, or "
4150+ "``-2`` if the system does not support changing the stack size. This function"
4151+ " does not set exceptions."
4152+ msgstr ""
4153+
4154+ #: ../../c-api/init.rst:2924
4155+ msgid ""
4156+ "Return the stack size of the current thread in bytes, or ``0`` if the "
4157+ "system's default stack size is in use."
4158+ msgstr ""
4159+
39094160#: ../../c-api/init.rst:350
39104161msgid "PyEval_InitThreads()"
39114162msgstr "PyEval_InitThreads()"
0 commit comments