|
Python для разработчика, зачем? |
|
|
|
 |
Ответов
|
Mar 14 2018, 13:04
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(one_eight_seven @ Mar 14 2018, 19:28)  А что доказывает эта древняя переписка? Там Тим Питерс написал свои соображения на тему. Этот т.н. "Дзен Питона" принадлежит, насколько помню, именно ему. Я сужу по своему многолетнему опыту, ни вижу никаких препятствий достигать одной цели разными путями. Цитата(SSerge @ Mar 14 2018, 19:30)  Только для тех, кто не знает как обстоят дела с многопоточностью в Питоне.  Если вы про GIL, так что с того? Потоки там нормальные, настоящие. Да, GIL не позволяет одновременно работать более, чем одному потоку, т.е. не получится раскидать потоки на разные ядра процессора так, чтобы они работали параллельно - всегда будет работать только один поток. По этой причине многопоточность питона не годится для выжимания максимальной производительности на вычислениях (для этого существует другие средства). Но типовые задачи, для которых рулит многопоточность - ввод-вывод, асинхронное выполнение задач и т.п. - прекрасно работают. Например, в моей нынешней программе помимо главного GUI потока крутятся 1. поток приёма видеокадров и их обработки; 2. поток команд через UDP на дивайс; 3. поток слежения за логами (внешние файлы). Итого, 4 потока. Как на однопоточной платформе это реализовывать, не представляю. Цитата(SSerge @ Mar 14 2018, 19:30)  PS. Модуль treading даёт только кооперативную многозадачность. А настоящие потоки можно сделать только в подключаемых модулях написанных на С/С++. Модуль threading даёт обычную нормальную вытесняющую многозадачность. Будь она кооперативной, мне бы пришлось вручную заботиться о том, чтобы отдавать управление в каждом потоке. Однако это не так: например, передача команд через UDP у меня вынесена в отдельный поток (чтобы не тормозить ожиданием отклика в GUI потоке), передача осуществляется через стандартный модуль queue, на приёмном конце поток встаёт на блокирующее ожидание из очереди, т.е. засыпает, пока в очереди ничего нет; как только на передающем в очередь что-то положили, приёмный поднимется и обработает задание. Многопоточность в питоне из-за GIL похожа на многозадачность в каком-нить МК - в каждый момент времени может исполняться только один поток, т.к. ядро одно. Но это не отменяет вытеснения. Поэтому париться с отдачей управления вручную не требуется, и код писать вполне комфортно.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
Сообщений в этой теме
Dubov Python для разработчика Mar 13 2018, 14:13 Nix_86 Использую как вспомогательный инструмент для преоб... Mar 13 2018, 14:27 yes например pyserial - какой-нибудь лабудой по UART (... Mar 13 2018, 14:35 one_eight_seven Тесты, кодогенераторы (когда нужно сделать узкозат... Mar 13 2018, 15:09 adnega Цитата(Dubov @ Mar 13 2018, 17:13) Подели... Mar 13 2018, 15:53 dxp Помимо автоматизации рутинных операций Python очен... Mar 14 2018, 04:30 Эдди Этот дебильный пхытон куда только нынче не пихают... Mar 14 2018, 04:56 a123-flex Цитата(Эдди @ Mar 14 2018, 08:56) Этот де... Mar 14 2018, 05:55  Эдди Цитата(a123-flex @ Mar 14 2018, 08:5... Mar 14 2018, 06:19 one_eight_seven Цитатао построения эффективного ПО для программно-... Mar 14 2018, 05:58 dxp Цитата(one_eight_seven @ Mar 14 2018, 12... Mar 14 2018, 06:38  one_eight_seven Цитата(dxp @ Mar 14 2018, 09:34) А вы про... Mar 14 2018, 06:39 EvilWrecker ЦитатаНет, как раз ПО будет неэффективным.
Наверно... Mar 14 2018, 06:00 one_eight_seven ЦитатаНаверное спорно- случаи есть разные
Наверняк... Mar 14 2018, 06:13 twix Цитата(Dubov @ Mar 13 2018, 14:13) Прошу ... Mar 14 2018, 06:19 one_eight_seven ЦитатаНельзя его там применять и точка.
Искать при... Mar 14 2018, 06:28 AlexandrY Цитата(one_eight_seven @ Mar 14 2018, 08... Mar 14 2018, 10:54 EvilWrecker ЦитатаВ этом и фишка питона: это язык-фронтэнд. Не... Mar 14 2018, 07:05 one_eight_seven ЦитатаВ этом суть pythonic философии.
В моём поним... Mar 14 2018, 07:52 alexunder Поддержу dxp, one_eight_seven и всех питонистов
+... Mar 14 2018, 08:28 twix Цитата(alexunder @ Mar 14 2018, 08:28) По... Mar 14 2018, 09:03  alexunder Цитата(twix @ Mar 14 2018, 10:03) В том т... Mar 14 2018, 10:17   Эдди Цитата(alexunder @ Mar 14 2018, 13:17) Ме... Mar 14 2018, 11:14    alexunder Цитата(Эдди @ Mar 14 2018, 12:14) Вот как... Mar 14 2018, 11:34     AlexandrY Цитата(alexunder @ Mar 14 2018, 13:34) Не... Mar 14 2018, 12:25      alexunder Цитата(AlexandrY @ Mar 14 2018, 13:25) Мо... Mar 14 2018, 12:27 _pv Питон всё-таки ненужен , для ембеддед жирноват-с.
... Mar 14 2018, 08:28 ArtemKAD Ну к примеру в GSM-модулях Telit встроенные Python... Mar 14 2018, 09:33 syoma Собственно получается, что знание Питона требуется... Mar 14 2018, 09:50 Эдди Цитата(syoma @ Mar 14 2018, 12:50) То ест... Mar 14 2018, 09:59  _pv Цитата(Эдди @ Mar 14 2018, 16:59) на С (п... Mar 14 2018, 11:22   Эдди Цитата(_pv @ Mar 14 2018, 14:22) и как та... Mar 14 2018, 14:49  Herz Цитата(Эдди @ Mar 14 2018, 11:59) А учиты... Mar 16 2018, 10:56 SSerge Желающие могут прямо сегодня запустить микропитон ... Mar 14 2018, 09:51 dxp Цитата(one_eight_seven @ Mar 14 2018, 14... Mar 14 2018, 10:59 one_eight_seven ЦитатаЭто откуда такой слоган? Ничего не мешает на... Mar 14 2018, 11:10 Эдди Я же говорю: лично для меня питон — бессмысленная ... Mar 14 2018, 11:43 one_eight_seven ЦитатаА пыхтоновский код даже через 10 лет вы уже ... Mar 14 2018, 11:48 dxp Цитата(one_eight_seven @ Mar 14 2018, 18... Mar 14 2018, 12:12 alexunder Цитата(dxp @ Mar 14 2018, 13:12) А он (ма... Mar 14 2018, 12:15  SSerge Цитата(alexunder @ Mar 14 2018, 19:15) Уд... Mar 14 2018, 12:30  AlexandrY Цитата(alexunder @ Mar 14 2018, 14:15) Уд... Mar 14 2018, 12:31   alexunder Цитата(AlexandrY @ Mar 14 2018, 13:31) В ... Mar 14 2018, 12:39    AlexandrY Цитата(alexunder @ Mar 14 2018, 14:39) Ко... Mar 14 2018, 15:24     alexunder Цитата(AlexandrY @ Mar 14 2018, 16:24) Мо... Mar 15 2018, 09:39 andrew_b Цитата(dxp @ Mar 14 2018, 15:12) Имхо, ту... Mar 14 2018, 13:18  dxp Цитата(andrew_b @ Mar 14 2018, 20:18) Спр... Mar 14 2018, 13:37 one_eight_seven ЦитатаА, ну это мнение автора этого документа.
Бою... Mar 14 2018, 12:28 one_eight_seven Цитатани вижу никаких препятствий достигать одной ... Mar 14 2018, 13:20 _pv Цитата(dxp @ Mar 14 2018, 16:59) Ну, пито... Mar 14 2018, 13:37 dxp Цитата(_pv @ Mar 14 2018, 20:37) тут не с... Mar 15 2018, 03:09  Эдди Цитата(dxp @ Mar 15 2018, 06:09) Ну, пока... Mar 15 2018, 04:55  _pv Цитата(dxp @ Mar 15 2018, 10:09) Да, всег... Mar 15 2018, 10:14   dxp Цитата(_pv @ Mar 15 2018, 17:14) Есть там... Mar 15 2018, 10:37    _pv Цитата(dxp @ Mar 15 2018, 17:37) Ну, само... Mar 15 2018, 17:33     dxp Цитата(_pv @ Mar 16 2018, 00:33) это не к... Mar 16 2018, 08:52      AlexandrY Цитата(dxp @ Mar 16 2018, 10:52) Мне вот ... Mar 16 2018, 09:35       dxp Цитата(AlexandrY @ Mar 16 2018, 16:35) Хо... Mar 16 2018, 10:02        Leka Цитата(dxp @ Mar 16 2018, 13:02) На питон... Mar 16 2018, 11:49         dxp Цитата(Leka @ Mar 16 2018, 18:49) При бег... Mar 16 2018, 12:13          _pv Цитата(dxp @ Mar 16 2018, 19:13) Спасибо ... Mar 16 2018, 13:29        AlexandrY Цитата(dxp @ Mar 16 2018, 12:02) Задача: ... Mar 17 2018, 09:57         dxp Цитата(AlexandrY @ Mar 17 2018, 16:57) Я ... Mar 17 2018, 11:43          AlexandrY Цитата(dxp @ Mar 17 2018, 13:43) Каких им... Mar 19 2018, 13:32           dxp Цитата(AlexandrY @ Mar 19 2018, 20:32) Им... Mar 20 2018, 02:59            AlexandrY Цитата(dxp @ Mar 20 2018, 04:59) Парсер ф... Mar 21 2018, 06:03             dxp Цитата(AlexandrY @ Mar 21 2018, 13:03) В ... Mar 21 2018, 23:56              AlexandrY Цитата(dxp @ Mar 22 2018, 01:56) Где уж н... Mar 22 2018, 09:46               dxp Цитата(AlexandrY @ Mar 22 2018, 16:46) Гд... Mar 22 2018, 11:16               Kabdim Цитата(AlexandrY @ Mar 22 2018, 12:46) Во... Mar 28 2018, 08:17           mantech Цитата(AlexandrY @ Mar 19 2018, 16:32) И ... Mar 20 2018, 06:26       AHTOXA Расскажу, как я применяю питон в embedded.
Если м... Mar 16 2018, 10:09       Leka Цитата(AlexandrY @ Mar 16 2018, 12:35) Хо... Mar 16 2018, 10:19      _pv Цитата(dxp @ Mar 16 2018, 15:52) Как подо... Mar 16 2018, 10:52 one_eight_seven Цитатаа как только что-нибудь посерьёзнее, особенн... Mar 14 2018, 13:59 Leka Имхо, самостоятельный выбор языка должен с этой (и... Mar 14 2018, 15:43 makc Интересно, почему никто не упоминает GIL (еще см. ... Mar 15 2018, 04:47 dxp Цитата(makc @ Mar 15 2018, 11:47) Интерес... Mar 15 2018, 05:40  makc Цитата(dxp @ Mar 15 2018, 08:40) https://... Mar 15 2018, 07:13   dxp Цитата(makc @ Mar 15 2018, 14:13) На тему... Mar 15 2018, 08:13 Leka У меня. Давно, работа, первое, что вспомнилось:
- ... Mar 15 2018, 11:33 Tpeck Off
А в питоне можно сделать высокоскоростной моду... Mar 16 2018, 10:27 one_eight_seven ЦитатаГде там ваш питон? Ау!!
В каком смыс... Mar 22 2018, 10:12 AlexandrY Цитата(one_eight_seven @ Mar 22 2018, 12... Mar 22 2018, 11:31 one_eight_seven ЦитатаА приятно чувствовать себя волшебником, все ... Mar 22 2018, 11:49 AlexandrY Цитата(one_eight_seven @ Mar 22 2018, 13... Mar 22 2018, 12:55 one_eight_seven ЦитатаИдея делать хидеры из pdf-ов однако благодат... Mar 22 2018, 13:59 esaulenka Господа, у меня вопрос, раз уж тут собрались специ... Mar 27 2018, 16:02 _pv Цитата(esaulenka @ Mar 27 2018, 23:02) Во... Mar 27 2018, 18:11 XVR Цитата(esaulenka @ Mar 27 2018, 19:02) Во... Mar 28 2018, 09:24 dxp esaulenka, если хотите именно встроенный скриптовы... Mar 28 2018, 04:28 _Pasha Доброго времени суток
как-то понадобилось перестав... Apr 9 2018, 05:22 halfdoom Цитата(_Pasha @ Apr 9 2018, 08:22) как ра... Apr 9 2018, 07:22  SSerge Цитата(halfdoom @ Apr 9 2018, 14:22) Как ... Apr 9 2018, 10:30  alexunder Цитата(halfdoom @ Apr 9 2018, 09:22) Как ... Apr 9 2018, 20:18 _Pasha чёт я не пойму, в чем должно быть что то не так
Ко... Apr 10 2018, 05:09 AHTOXA Цитата(_Pasha @ Apr 10 2018, 10:09) чёт я... Apr 10 2018, 06:49  halfdoom Цитата(AHTOXA @ Apr 10 2018, 09:49) Питон... Apr 10 2018, 07:09  _Pasha КодPython 3.5.2+ (default, Sep 22 2016, 12... Apr 10 2018, 10:52
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|