Multitasking-
-
- – Multitasking = Multi(Many) + Task(Instruction)
- – Performing multiple tasks at a same time is known as Multitasking.
- – One Process can execute only 1 instruction at a time.
- MultiThreading-
- Task = Combination of Program
- Program = Combination of Process
Single Threaded Application-
- – Whenever we execute any python program a default thread named as ‘main thread’ will always be execute in backend.
Ex-
class SingleThreadProg:
def display(self):
print("Inside display")
for j in range(1, 3):
print(j)
def main():
obj = SingleThreadProg()
obj.display()
print("Inside main")
for i in range(1, 3):
print(i)
SingleThreadProg.main()
Output-
Inside display
1
2
Inside main
1
2
MultiThreading Application-
module threading ---> Thread
clas Thread:
def run(self):
pass
def join(self):
------
-----
class userThread(Thread)
def run(self): #override
----Logical
Life Cycle Of Thread-
Use Of Time Module-
sleep()–> Used to stop the execution for a particular no. of sec.
import time
import threading
class customThread(threading.Thread):
def main():
obj = customThread()
obj.start()
for i in range(1,6):
print("i-"+str(i))
time.sleep(2)
print("Main thread complete")
def run(self):
for j in range(1,6):
print("j-"+str(j))
time.sleep(2)
print("Run thread complete")
customThread.main()
Output-
j-1
i-1
j-2
i-2
j-3
i-3
j-4
i-4
i-5
j-5
Main thread complete
Run thread complete
Ex-
from threading import Thread
class Program1(Thread):
def run(self):
print("Program1")
class Program2(Thread):
def run(self):
print("Program2")
class MultiThreadProgram:
def main():
t1 = Program1()
t2 = Program2()
t1.start()
t2.start()
MultiThreadProgram.main()
Output-
Program1
Program2
Join()-
- – It is a object level method.
- – It is used to wait for the thread execution until the joined thread execution will not complete.