Потоки в Python

Мне удалось это исправить;

Я был на очень старой версии веб-пакета; Обновление до webpack 4, ts-loader до v5, и после обновления других плагинов webpack, я смог решить эту проблему компиляции.

Одна вещь, которая подтолкнула меня к тому, что это, возможно, был веб-пакет, заключалась в том, что VSCode мог прекрасно видеть типизацию узлов, однако старая компиляция веб-пакета все равно будет показывать эти ошибки.

6
задан Devoted 28 December 2008 в 02:22
поделиться

4 ответа

Потоки должны использоваться, когда Вы хотите две вещи работать сразу, или хотеть, чтобы что-то работало в фоновом режиме, не замедляя основной процесс.
Моя рекомендация состоит в том, чтобы только использовать потоки, если Вы имеете к. Они обычно добавляют сложность к программе.
Основная документация для поточной обработки здесь: http://docs.python.org/library/threading.html
Некоторые примеры здесь:
http://www.devshed.com/c/a/Python/Basic-Threading-in-Python/1/
http://linuxgazette.net/107/pai.html
http://www.wellho.net/solutions/python-python-threads-a-first-example.html

13
ответ дан 8 December 2019 в 04:32
поделиться

Одна вещь помнить прежде, чем провести время и усилие в записи многопоточного приложения Python состоит в том, что существует Глобальная блокировка интерпретатора (GIL), таким образом, Вы не будете на самом деле выполнять больше чем один поток за один раз.

Это делает поточную обработку неподходящей для попытки использовать в своих интересах несколько ядер или центральных процессоров. Можно получить некоторое ускорение от мультиплексирования других ресурсов (сеть, диск...), но это никогда не было особенно примечательно, по моему опыту.

В целом я только использую потоки, когда существует несколько логически отдельных задач, происходящих сразу, и все же я хочу их всех в том же VM. Данные получения по запросу потока из сети и помещения его на Очереди, в то время как другой поток появляется от Очереди и пишет в базу данных, что-то как этот.

С Python 2.6 существует новое multiprocessing модуль, который довольно прохладен - это имеет очень похожий интерфейс к threading модуль, но на самом деле порождает новые процессы ОС, обходя GIL.

8
ответ дан 8 December 2019 в 04:32
поделиться

Существует фантастический PDF, Учебное руководство на Программировании Потоков с Python Norman Matloff и Francis Hsu, Калифорнийского университета, Davis.

Потоков нужно избежать, когда это возможно. Они добавляют много в сложности, проблемах синхронизации и трудно отлаживать проблемы. Однако некоторые проблемы требуют их (т.е. программирование GUI), но я поощрил бы Вас искать однопоточное решение, если Вы можете.

3
ответ дан 8 December 2019 в 04:32
поделиться

Здесь существует несколько учебных руководств.

1
ответ дан 8 December 2019 в 04:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: