Реализация потоковой передачи без наследования класса потоков в Python
Мы собираемся реализовать потоки в Python с использованием класса без подкласса суперкласса под названием Thread.
Чтобы наилучшим образом использовать базовый процессор и повысить производительность нашего приложения, мы можем создать несколько потоков, которые могут выполняться параллельно. Максимально эффективное использование процессора и нашего приложения обеспечит максимальное удобство работы пользователей, это будет быстро.
Есть три способа создания потоков в Python:
- Использование функции
- Расширение класса потока
- Без расширения класса потока
Мы реализуем последний подход, который также называется гибридным подходом. Мы определим класс, но класс не будет расширять поток родительского класса, вместо этого мы собираемся напрямую определять любую функцию внутри, которую мы хотим. Вместо этого мы создадим экземпляр потока, а затем передадим объект и функцию, которую мы хотим выполнить внутри этого объекта, в качестве цели, а аргумент будет вторым аргументом. Затем вызовите метод запуска потока.
Пример 1:
Реализация Thread путем печати первых 10 натуральных чисел
Python3
# importing thread module from threading import * # class does not extend thread class class MyThread: def display( self ): i = 0 print (current_thread().getName()) while (i < = 10 ): print (i) i = i + 1 # creating object of out class obj = MyThread() # creating thread object t = Thread(target = obj.display) # invoking thread t.start() |
Выход:
Нить-1 0 1 2 3 4 5 6 7 8 9 10
Example 2:
Implementing Thread by printing even numbers within a given range
Python3
# importing thread module from threading import * # class does not extend thread class class MyThread: def display( self ): i = 10 j = 20 print (current_thread().getName()) for num in range (i, j + 1 ): if (num % 2 = = 0 ): print (num) # creating an object of our class obj = MyThread() # creating a thread object t = Thread(target = obj.display) # invoking the thread t.start() |
Выход:
Нить-1 10 12 14 16 18 20
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.