Python 3 - Threading Basics

Python 3: From Scratch to Intermediate ADVANCED LEVEL: Python 3 - Other Advanced Concepts
5 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$99.99
List Price:  $139.99
You save:  $40
€93.20
List Price:  €130.49
You save:  €37.28
£79.91
List Price:  £111.88
You save:  £31.96
CA$136.56
List Price:  CA$191.19
You save:  CA$54.63
A$153.05
List Price:  A$214.27
You save:  A$61.22
S$136.08
List Price:  S$190.51
You save:  S$54.43
HK$782.75
List Price:  HK$1,095.88
You save:  HK$313.13
CHF 91.21
List Price:  CHF 127.70
You save:  CHF 36.49
NOK kr1,100.23
List Price:  NOK kr1,540.37
You save:  NOK kr440.13
DKK kr695.05
List Price:  DKK kr973.10
You save:  DKK kr278.04
NZ$168.07
List Price:  NZ$235.31
You save:  NZ$67.23
د.إ367.25
List Price:  د.إ514.16
You save:  د.إ146.91
৳10,970.75
List Price:  ৳15,359.49
You save:  ৳4,388.74
₹8,335.10
List Price:  ₹11,669.48
You save:  ₹3,334.37
RM476.90
List Price:  RM667.68
You save:  RM190.78
₦130,608.93
List Price:  ₦182,857.73
You save:  ₦52,248.80
₨27,840.21
List Price:  ₨38,977.41
You save:  ₨11,137.19
฿3,694.31
List Price:  ฿5,172.18
You save:  ฿1,477.87
₺3,253.72
List Price:  ₺4,555.34
You save:  ₺1,301.61
B$515.88
List Price:  B$722.26
You save:  B$206.37
R1,886.05
List Price:  R2,640.54
You save:  R754.49
Лв182.13
List Price:  Лв254.99
You save:  Лв72.85
₩137,567.94
List Price:  ₩192,600.62
You save:  ₩55,032.68
₪380.78
List Price:  ₪533.11
You save:  ₪152.32
₱5,769.12
List Price:  ₱8,077
You save:  ₱2,307.87
¥15,680.08
List Price:  ¥21,952.74
You save:  ¥6,272.66
MX$1,724.22
List Price:  MX$2,413.98
You save:  MX$689.75
QR364.68
List Price:  QR510.56
You save:  QR145.88
P1,379.77
List Price:  P1,931.74
You save:  P551.96
KSh13,498.65
List Price:  KSh18,898.65
You save:  KSh5,400
E£4,789.68
List Price:  E£6,705.74
You save:  E£1,916.06
ብር5,693.24
List Price:  ብር7,970.76
You save:  ብር2,277.52
Kz83,560.30
List Price:  Kz116,987.77
You save:  Kz33,427.46
CLP$94,840.51
List Price:  CLP$132,780.51
You save:  CLP$37,940
CN¥724.59
List Price:  CN¥1,014.46
You save:  CN¥289.86
RD$5,873.12
List Price:  RD$8,222.61
You save:  RD$2,349.48
DA13,427.17
List Price:  DA18,798.58
You save:  DA5,371.40
FJ$225.97
List Price:  FJ$316.37
You save:  FJ$90.39
Q777.73
List Price:  Q1,088.86
You save:  Q311.12
GY$20,914.34
List Price:  GY$29,280.91
You save:  GY$8,366.57
ISK kr13,988.60
List Price:  ISK kr19,584.60
You save:  ISK kr5,596
DH1,011.63
List Price:  DH1,416.33
You save:  DH404.69
L1,776.81
List Price:  L2,487.61
You save:  L710.79
ден5,738.79
List Price:  ден8,034.54
You save:  ден2,295.74
MOP$805.67
List Price:  MOP$1,127.97
You save:  MOP$322.30
N$1,914.68
List Price:  N$2,680.63
You save:  N$765.95
C$3,678.96
List Price:  C$5,150.69
You save:  C$1,471.73
रु13,310.19
List Price:  रु18,634.81
You save:  रु5,324.61
S/372.97
List Price:  S/522.18
You save:  S/149.20
K385.04
List Price:  K539.08
You save:  K154.03
SAR375.02
List Price:  SAR525.04
You save:  SAR150.02
ZK2,631.59
List Price:  ZK3,684.33
You save:  ZK1,052.74
L463.78
List Price:  L649.31
You save:  L185.53
Kč2,343.96
List Price:  Kč3,281.64
You save:  Kč937.68
Ft36,581.40
List Price:  Ft51,215.43
You save:  Ft14,634.02
SEK kr1,089.92
List Price:  SEK kr1,525.94
You save:  SEK kr436.01
ARS$87,365.86
List Price:  ARS$122,315.70
You save:  ARS$34,949.84
Bs692.26
List Price:  Bs969.20
You save:  Bs276.93
COP$394,057.74
List Price:  COP$551,696.60
You save:  COP$157,638.86
₡50,249.28
List Price:  ₡70,351
You save:  ₡20,101.72
L2,468.18
List Price:  L3,455.56
You save:  L987.37
₲742,598.03
List Price:  ₲1,039,666.95
You save:  ₲297,068.91
$U3,834.62
List Price:  $U5,368.62
You save:  $U1,534
zł402.81
List Price:  zł563.95
You save:  zł161.14
Already have an account? Log In

Transcript

Every process running inside an operating system contains at least one thread, and can further initiate multiple threads, which are then executed simultaneously in the same process space. This is similar to executing multiple applications at the same time. In Python threading can be used to run several function calls or other tasks concurrently, especially if those tasks involve some waiting times. This is the case for networking applications and web related tasks. Among others. Threading is a large and advanced topic in Python, and that's why we will discuss only the basics of threading in this course.

Python provides a specific module for threading purposes. This module is simply called threading and it is a built in module. Of course, before using this module, you should first imported using the same import statement that we have discussed so far from within that module we will use the thread class return with a capital T prepended. Of course by the module name from within this class, the most useful and used methods are start and join, the start method simply starts or initiates a thread. The join method makes sure the program waits for all threads to terminate. Okay, let's see a simple example of threading in Python.

And let's create a file in which to write our code. I will name this file my threads.py and save it to the D drive of my computer. First, we should import the threading module as always, so import threading. Also, we will need the module we haven't talked about yet the time module. So we will import this module as well. From within the time module we will need the sleep method which basically interrupts the execution of the program for as many seconds as you enter in between its parentheses.

So for instance, time dot sleep of one will hold the execution for us. And I said that threading can be used to run multiple function calls at the same time. So let's define a function that prints something, then wait for three seconds, and then print something else. I will use this simple function just to prove that using threading, you can run multiple function calls simultaneously. Okay, this is the function now it's time to configure threading. But first, let's set a goal for this application, we would like to run my function five times concurrently.

And as a bonus, we would like the program to wait for all threads to terminate. To achieve our goal, I will first create an empty list called let's say threads. Then because we want five concurrent instances of the function to be executed, we can make use of a for loop and the range function for i in range of five. Now let's use the thread class from the threading module and tell it the target function to be executed. For this we will use an argument called Target. So let's say T h equals threading the name of the module dot thread, the name of the class, and in between its parentheses, let's pass this parameter right here, target equals, and now the name of our function, the function to be executed my function.

Okay, next, it's time to start the thread and then also append each threading object to the threads list. As I said at the beginning of this lecture, you will use the start method to initialize a thread. So the age dot start, and now let's append threads dot append d h. Finally, using another for loop to iterate over the threats list, we will use the join method in order to instruct the program to wait for all threads to finish for th in threads in the list we defined simply do a th dot join. Okay, now let's save the file and then run it in the windows command. line to see threading inaction. Okay, so Python D, my threads dot p y.

And now let's watch the execution of this program carefully. Okay, so this clearly demonstrates that the function is called Five times concurrently, because it printed out the first string five times, then it stopped for three seconds, and then printed out the second string five times, if we would have called the function of five times without using threading, then what would have happened? Well, the first call would have printed the first string, then waited three seconds, then printed the second string, then all the subsequent function calls would have done the same thing. So a total of 15 seconds of interruption. So let's see this by simply deleting any threading related code in our program, and then just execute it again. So let's delete this.

And let's say for i in range of five, just run my phone Okay, let's save the file. And now let's run it again. So there it is the difference between normal function calling and threaded function calling, which can be very useful in some scenarios and can save you a lot of time when running your applications. I think you now have a pretty good idea about threading. So let's move on to the next lecture.

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.