Threads in python are an entity within a process that can be scheduled for execution. In simpler words, a thread is a computation process that is to be performed by a computer. It is a sequence of such instructions within a program that can be executed independently of other codes.
In Python, there are two ways to create a new Thread. In this article, we will also be making use of the threading module in Python. Below is a detailed list of those processes:
1. Creating python threads using class
Below has a coding example followed by the code explanation for creating new threads using class in python. Â
Python3
# import the threading moduleimport threadingÂ
class thread(threading.Thread):    def __init__(self, thread_name, thread_ID):        threading.Thread.__init__(self)        self.thread_name = thread_name        self.thread_ID = thread_IDÂ
        # helper function to execute the threads    def run(self):        print(str(self.thread_name) +" "+ str(self.thread_ID));Â
thread1 = thread("GFG", 1000)thread2 = thread("Lazyroar", 2000);Â
thread1.start()thread2.start()Â
print("Exit") |
Output:Â
GFG 1000 Lazyroar 2000 Exit
Now let’s look into what we did up there in the code. Â
- We created a sub-class of the thread class.
- Then we override the __init__ function of the thread class.
- Then we override the run method to define the behavior of the thread.
- The start() method starts a Python thread.Â
2. Creating python threads using function
The below code shows the creation of new thread using a function:Â Â
Python3
from threading import Threadfrom time import sleepÂ
# function to create threadsdef threaded_function(arg):    for i in range(arg):        print("running")                 # wait 1 sec in between each thread        sleep(1)Â
Â
if __name__ == "__main__":Â Â Â Â thread = Thread(target = threaded_function, args = (10, ))Â Â Â Â thread.start()Â Â Â Â thread.join()Â Â Â Â print("thread finished...exiting") |
Output:Â
running running running running running running running running running running thread finished...exiting
So what we did in the above code,Â
- We defined a function to create a thread.
- Then we used the threading module to create a thread that invoked the function as its target.
- Then we used start() method to start the Python thread.Â
Â
Â
