Home »
Python »
Python Reference »
Python Thread class
Python Thread start() Method with Example
Python Thread.start() Method: In this tutorial, we will learn about the start() method of Thread class in Python with its usage, syntax, and examples.
By Hritika Rajput Last updated : April 24, 2023
Python Thread.start() Method
The Thread.start() method is an inbuilt method of the Thread class of the threading module, it is used to start a thread's activity. This method calls the run() method internally which then executes the target method. This method must be called at most one time for one thread. If it is called more than once, it raises a RuntimeError.
Module
The following module is required to use start() method:
import threading
Class
The following class is required to use start() method:
from threading import Thread
Syntax
The following is the syntax of start() method:
start()
Parameter(s)
The following are the parameter(s):
Return Value
The return type of this method is <class 'NoneType'>, it does not return anything.
Example of Thread.start() Method in Python
# Python program to explain the
# use of start() method in Thread class
import time
import threading
def thread_1(i):
time.sleep(5)
print('Value by Thread 1:', i)
def thread_2(i):
print('Value by Thread 2:', i)
# Creating two sample threads
thread1 = threading.Thread(target=thread_1, args=(1,))
thread2 = threading.Thread(target=thread_2, args=(2,))
# Starting two threads
thread1.start()
thread2.start()
Output
Value by Thread 2: 2
Value by Thread 1: 1
Example 2
# Python program to explain the
# use of start() method in Thread class
import threading
def thread_1(i):
print('Value by Thread 1:', i)
def thread_2(i):
print('Value by Thread 2:', i)
def thread_3(i):
print('Value by Thread 3:', i)
# Creating three sample threads
thread1 = threading.Thread(target=thread_1, args=(1,))
thread2 = threading.Thread(target=thread_2, args=(2,))
thread3 = threading.Thread(target=thread_3, args=(3,))
# Starting three threads
thread1.start()
thread2.start()
thread3.start()
thread1.start()
Output
Value by Thread 1: 1
Value by Thread 2: 2
Value by Thread 3: 3
Traceback (most recent call last):
File "main.py", line 26, in <module>
thread1.start()
File "/usr/lib/python3.8/threading.py", line 848, in start
raise RuntimeError("threads can only be started once")
RuntimeError: threads can only be started once