Другой способ создать поток в Python
Поток представляет собой объект в пределах процесса , который может быть запланирован для выполнения. Кроме того, это наименьшая единица обработки, которая может выполняться в операционной системе.
Есть несколько способов создать поток:
1) Создайте поток без использования явной функции:
By importing the module and creating the Thread class object separately we can easily create a thread. It is a function-oriented way of creating a thread.
Python3
# Import required modules from threading import * # Explicit function def display() : for i in range ( 10 ) : print ( "Child Thread" ) # Driver Code # Create object of thread class Thread_obj = Thread(target = display) # Executing child thread Thread_obj.start() # Executing main thread for i in range ( 10 ): print ( "Main Thread" ) |
Child Thread Child Thread Child Thread Child Thread Child Thread Child Thread Child Thread Child Thread Child Thread Child Thread Main Thread Main Thread Main Thread Main Thread Main Thread Main Thread Main Thread Main Thread Main Thread Main Thread
В приведенном выше примере мы создали явную функцию display (), которая выводит дочерний поток 10 раз. Затем мы создали объект класса Thread с именем Thread_obj, используя модуль потоковой передачи. Первая резьба ориентирована на дисплей () метод , т.е. дисплей () метод будет выполняться с помощью этого объекта резьбы и основной нити (второго) ориентированно для цикла и будет нести ответственность за выполнение в основном потоке 10 раз.
ПРИМЕЧАНИЕ. Здесь, какой поток получит шанс первым ( основной поток или дочерний поток), зависит от планировщика потоков, присутствующего в виртуальной машине Python (PVM), поэтому мы не можем предсказать результат.
2) Создайте поток, расширив класс потока:
In this method, we will extend the thread class from the threading module. This approach of creating a thread is also known as Object-Oriented Way.
Python3
# Import required module from threading import * # Extending Thread class class Mythread(Thread): # Target function for thread def run( self ): for i in range ( 10 ): print ( "Child Thread" ) # Driver Code # Creating thread class object t = Mythread() # Execution of target function t.start() # Executed by main thread for i in range ( 10 ): print ( "Main Thread" ) |
Child Thread Child Thread Child Thread Child Thread Child Thread Child Thread Child Thread Child Thread Child Thread Child Thread Main Thread Main Thread Main Thread Main Thread Main Thread Main Thread Main Thread Main Thread Main Thread Main Thread
В приведенном выше примере мы создаем класс, который расширяет класс Thread , внутри этого класса мы должны переопределить метод run (), который будет целевой функцией нашего дочернего потока , когда вызывается метод start (), он инициирует выполнение метода run () (целевая функция) потока .
3. Создайте поток без расширения класса потока:
Another Object-Oriented Way of creating Thread is by not extending any thread class to create Thread.
Python3
# Import required modules from threading import * # Creating class class Gfg: # Creating instance method def method1( self ): for i in range ( 10 ): print ( "Child Thread" ) # Driver Code # Creating object of Gfg class obj = Gfg() # Creating object of thread by # targeting instance method of Gfg class thread_obj = Thread(target = obj.method1) # Call the target function of threa thread_obj.start() # for loop executed by main thread for i in range ( 10 ): print ( "Main Thread" ) |
Child Thread Child Thread Child Thread Child Thread Child Thread Child Thread Child Thread Child Thread Child Thread Child Thread Main Thread Main Thread Main Thread Main Thread Main Thread Main Thread Main Thread Main Thread Main Thread Main Thread
В приведенной выше программе мы отдельно создаем объект класса потока и класса Gfg , и всякий раз, когда мы создаем объект класса потока в этот раз, мы также должны упоминать целевую функцию. Объект класса потока нацелен на метод экземпляра класса Gfg . Чтобы начать выполнение целевой функции, мы должны вызвать метод start () .
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.