How to create a new thread in Python
Last Updated :
30 Sep, 2021
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 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
def run( self ):
print ( str ( self .thread_name) + " " + str ( self .thread_ID));
thread1 = thread( "GFG" , 1000 )
thread2 = thread( "GeeksforGeeks" , 2000 );
thread1.start()
thread2.start()
print ( "Exit" )
|
Output:
GFG 1000
GeeksforGeeks 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 Thread
from time import sleep
def threaded_function(arg):
for i in range (arg):
print ( "running" )
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.
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...