Огляд скриптовых мов - Python
Приклади збереження даних Приклади збереження данихУ порівнянні з pickle або YAML для ініціалізації роботи з ZODB потрібно написати на парі рядків програмного коду більше, але як тільки сховище...
Контактні дані Київ, Мясницкая вул., 35
Телефон: +38 (044) 997 - 93 - 19
Факс: +38 (044) 999 - 99 - 91
Потоки виконання в Python
Перевага укладається в тім, що можна створювати в пам'яті структури даних, які будуть доступні всім потокам виконання без використання механізмів межпроцессных взаємодій (IPC). Але при роботі з потоками є свої підводні камені.

Часто тривіальна програма, що складається з декількох десятків рядків програмного коду, із введенням потоків виконання може стати надзвичайно складної. Многопоточные програми складно налагоджувати без використання всеосяжного трасування, але й у цьому випадку налагодження залишається дуже складною процедурою, тому що висновок трасувальної інформації може виявитися занадто об'ємним і заплутаним.

Один з авторів створив систему дослідження центрів обробки даних за допомогою протоколу SNMP, але реалізувати в ній повну підтримку потоків виконання виявилося дуже непросто. Однак існують певні стратегії, що спрощують створення многопоточных додатків, і реалізація надійної бібліотеки трасування - одна з таких стратегій. При цьому вони можуть виявитися дуже зручним інструментом у рішенні складних завдань. Знання основ програмування многопоточных додатків може виявитися корисним для системного адміністратора.

От кілька прикладів, коли потоки виконання можуть придатися в повсякденній практиці системного адміністратора: дослідження локальної мережі в автоматичному режимі, витяг декількох веб-сторінок одночасно, навантажувальне тестування сервера й виконання мережних операцій. Зберігаючи вірність принципу KISS, розглянемо один з найпростіших прикладів використання декількох потоків виконання. Варто помітити, що для використання модуля threading необхідне розуміння объектно-ориентированного програмування.

Якщо у вас недостатній досвід объектно-ориентированного програмування (ООП) або взагалі його ні, тоді цей приклад може виявитися незрозумілим для вас. У цьому випадку ми могли б порекомендувати придбай книгу Марка Лутца (Mark Lutz) "Learning Python" (O'Reilly)1 і познайомитися з деякими основами ООП, однак можна звернутися до глави 1 "Введення" у цій книзі й попрактиковаться на деяких прикладах, які там приводяться. В остаточному підсумку, объектно-ориентированное програмування гідно того, щоб вивчати його.

Оскільки ця книга присвячена практичному застосуванню мови Python, давайте перейдемо безпосередньо наприклад многопоточного додатки, де використовуються найпростіші прийоми многопоточного програмування. У цьому простому многопоточном сценарії використовується модуль threading. У сценарії встановлюється значення глобальної змінної, і потім перевизначається метод гип потоку виконання. Нарешті, запускається п'ять потоків виконання, кожний з яких виводить свій номер.
Служба аутентификации Служба аутентификацииОдне із самих удалих визначень, з якими нам доводилося зіштовхуватися, приводиться у Википедии: "прикладний протокол, що дозволяє звертатися до служби каталогів, що працює поверх протоколу TCP/IP". Як приклад...
Веб додатка Веб додаткаОдне з поліпшень, яке можна було б внести в цей додаток, -це реалізувати сортування в порядку, зворотному поточний. Зробити це досить просто, але ми залишимо реалізацію цієї можливості читачам. Як ще одне поліпшення...
Запуск сценарію Запуск сценаріюЦе в точності відповідає нашим очікуванням. Тепер спочатку спробуємо запустити сценарій, що додає новий запис, а потім знову запустимо сценарій, що витягає дані. Цей приклад ідентичний попередньому прикладу, де використовувався метод store,...
Створення звітів Створення звітівКрім того, ми могли б розширити цей сценарій і відшукувати запису з обсягом використання 80 відсотків, 70 відсотків і видавати попередження по досягненні цих рівнів. Такий сценарій легко можна було б об'єднати, наприклад, с...
 
(c) Copyright