Skip to content

Commit 38993da

Browse files
[po] auto sync
1 parent 12ec008 commit 38993da

3 files changed

Lines changed: 41 additions & 2 deletions

File tree

‎.stat.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"translation": "1.52%", "updated_at": "2025-12-09T15:28:10Z"}
1+
{"translation": "1.53%", "updated_at": "2025-12-09T16:30:28Z"}

‎tutorial/stdlib2.mo‎

4.9 KB
Binary file not shown.

‎tutorial/stdlib2.po‎

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -373,12 +373,20 @@ msgid ""
373373
" A related use case is running I/O in parallel with computations in another"
374374
" thread."
375375
msgstr ""
376+
"Потоки — это техника разделения задач, которые не зависят друг от друга по "
377+
"порядку выполнения. Потоки можно использовать для повышения отзывчивости "
378+
"приложений, которые принимают пользовательский ввод, пока другие задачи "
379+
"выполняются в фоновом режиме. Похожий сценарий — выполнение ввода/вывода "
380+
"параллельно с вычислениями в другом потоке."
376381

377382
#: ../../tutorial/stdlib2.rst:174
378383
msgid ""
379384
"The following code shows how the high level :mod:`threading` module can run "
380385
"tasks in background while the main program continues to run::"
381386
msgstr ""
387+
"Следующий код показывает, как модуль высокого уровня :mod:`threading` может "
388+
"запускать задачи в фоновом режиме, в то время как основная программа "
389+
"продолжает работать:"
382390

383391
#: ../../tutorial/stdlib2.rst:177
384392
msgid ""
@@ -403,6 +411,26 @@ msgid ""
403411
"background.join() # Wait for the background task to finish\n"
404412
"print('Main program waited until background was done.')"
405413
msgstr ""
414+
"import threading, zipfile\n"
415+
"\n"
416+
"class AsyncZip(threading.Thread):\n"
417+
" def __init__(self, infile, outfile):\n"
418+
" threading.Thread.__init__(self)\n"
419+
" self.infile = infile\n"
420+
" self.outfile = outfile\n"
421+
"\n"
422+
" def run(self):\n"
423+
" f = zipfile.ZipFile(self.outfile, 'w', zipfile.ZIP_DEFLATED)\n"
424+
" f.write(self.infile)\n"
425+
" f.close()\n"
426+
" print('Архивирование в фоне завершено:', self.infile)\n"
427+
"\n"
428+
"background = AsyncZip('mydata.txt', 'myarchive.zip')\n"
429+
"background.start()\n"
430+
"print('Основная программа продолжает выполняться на переднем плане.')\n"
431+
"\n"
432+
"background.join() # Ждём, пока фоновая задача завершится\n"
433+
"print('Основная программа дождалась окончания фоновой задачи.')"
406434

407435
#: ../../tutorial/stdlib2.rst:198
408436
msgid ""
@@ -411,6 +439,10 @@ msgid ""
411439
"module provides a number of synchronization primitives including locks, "
412440
"events, condition variables, and semaphores."
413441
msgstr ""
442+
"Основная сложность многопоточных приложений — координация потоков, которые "
443+
"совместно используют данные или другие ресурсы. С этой целью модуль "
444+
"threading предоставляет ряд примитивов синхронизации, включая блокировки, "
445+
"события, условные переменные и семафоры."
414446

415447
#: ../../tutorial/stdlib2.rst:203
416448
msgid ""
@@ -422,10 +454,17 @@ msgid ""
422454
"thread communication and coordination are easier to design, more readable, "
423455
"and more reliable."
424456
msgstr ""
457+
"Хотя эти инструменты эффективны, незначительные ошибки проектирования могут "
458+
"привести к проблемам, которые трудно воспроизвести. Таким образом, "
459+
"предпочтительный подход к координации задач — сосредоточить весь доступ к "
460+
"ресурсу в одном потоке, а затем использовать модуль :mod:`queue`, чтобы "
461+
"передавать этому потоку запросы от других. Приложения, использующие объекты "
462+
":class:`~queue.Queue` для межпоточного взаимодействия и координации, легче "
463+
"проектируются, более читабельны и надежны."
425464

426465
#: ../../tutorial/stdlib2.rst:214
427466
msgid "Logging"
428-
msgstr ""
467+
msgstr "Логирование"
429468

430469
#: ../../tutorial/stdlib2.rst:216
431470
msgid ""

0 commit comments

Comments
 (0)