Python Tutorial - 28. Sharing Data Between Processes Using Array and Value
Key Takeaways
Demonstrates sharing data between processes using Array and Value in Python
Full Transcript
dear friends welcome to core basics coding tutorial in this tutorial we are going to learn how to share data between two processes in Python now if you have gone through my multiprocessing introduction tutorial or you have already seen a problem when you try to share a global variable between two processes I'm going to revisit the same problem here once again so in this program I have a list of numbers and I am creating a new process here which is just calculating the square of all those numbers and it is putting the result back into this result global variable so you can see here I have a global result and it is referring to this variable ok and once I'm done with my processing I am printing the value of that variable inside my process and also outside the process okay now when I run my program what happens is inside the process values look ok so I have 2 3 5 their Square number is 4 9 25 pretty good but outside the process when I try to print the same exact variable I see blank now why is that so if you remember from our introduction tutorial whenever you create a new process the new process will get its own address space at a space meaning the space where it stores all the variables etc so what happens is as you can see in the diagram on the left hand side I have a parent process which has a result global variable but when you create a child process which is shown on the right hand side the memory for this global variable will be copied so now I have a separate copy of result variable hence when you when you run your calculated square function it is only updating the copy in the child process okay so this is the problem now how to solve this issue how to solve this issue of share data between two processes well there is a way the way is to use shared memory so as you can see in the diagram when you use shared memory the memory lives outside the processes hands you can access it and it will bring the result for you so let's use that memory here in our program now there are two ways of using shared memory one is value another is array so in this program I'm going to use array first and then I'll show you how to use value so first let's create a shared memory variable now share memory variable is different than your regular variable so you have to use multiprocessing dot array here now here the first thing is you specify your data type so my data type here is integer okay and then you specify your size so my size is three because I had three numbers here so my result is gonna have three and then I will pass down this shared memory into my process okay so my process has one more variable called result so let me remove this global variable because it's anyway not working now shared memory has different set of methods so a pen is not part of the method list so happen is not gonna work okay so we have to use a simple index now to use simple index what you do this or ID X and in numerator so when you use this function you will always get the index and value both okay so here I'm just saying result is equal to and just cross an okay and I'm removing this here after that I'm just printing the result here all right let's run this okay here it's not printing it okay so we have to use a different method so we'll just say okay so here I'm going to say result like this this is a way to print all the elements in an array okay excellent so now you can see that we are printing it outside the process and it still print out the result fine so you can use array this way to share data between two processes so it's solve our problem now these two processes can exchange data using this sad memory variable called result okay all right let's go over value now so for value so value similar to array but it's just a single value okay so you can create value like this I'm going to create a double variable on shared memory and assign a value 0.0 and when I pass this to my child process here I'm going to receive it as an argument in this function and here I will say value dot value maybe we can just change this variable name to be V I'm going to just assign some arbitrary value okay and here you can print that value we dot value so as you can see that in our child in our parent process we are creating a value variable on shared memory we are passing that to a different process here which is setting the value and then back to our parent process it is printing the value here now when you run this see it's working basically the child process is updating the value and still the parent process is able to access the same value okay so this was all about values and array there are in fact other ways of sharing data which is queue and pipe but we will cover those in the future tutorials ok thank you for watching
Original Description
Today’s tutorial is based on sharing data between processes using Array and Value. The topics that we are including in this python tutorial are how to solve issue sharing data between the process, what is shared memory, how to use shared memory in the process using an array, what is shared memory methods enumerate() and how to use shared memory in a process using value.
Topics that are covered in this Python Video:
0:00 Overview
2:15 How to solve issue sharing data between the process
2:21 What is shared memory
2:41 Use shared memory in a process using an array
3:37 Shared memory methods enumerate()
5:15 Use shared memory in the process using the value
Do you want to learn technology from me? Check https://codebasics.io/ for my affordable video courses.
Code used in this tutorial: https://github.com/codebasics/py/blob/master/Multiprocessing/multiprocessing_value_array.py
Next Video:
Python Tutorial - 29. Sharing Data Between Processes Using Queue: https://www.youtube.com/watch?v=sp7EhjLkFY4&list=PLeo1K3hjS3uv5U-Lmlnucd7gqF-3ehIh0&index=32
Website: https://codebasics.io/
Facebook: https://www.facebook.com/codebasicshub
Twitter: https://twitter.com/codebasicshub
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from codebasics · codebasics · 54 of 60
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
▶
55
56
57
58
59
60
Python Tutorial - 1. Install python on windows
codebasics
Python Tutorial - 2. Variables
codebasics
Python Tutorial - 3. Numbers
codebasics
Python Tutorial - 4. Strings
codebasics
Python Tutorial - 5. Lists
codebasics
Python Tutorial - 6. Install PyCharm on Windows
codebasics
PyCharm Tutorial - 7. Debug python code using PyCharm
codebasics
Python Tutorial - 8. If Statement
codebasics
Python Tutorial - 9. For loop
codebasics
Python Tutorial - 10. Functions
codebasics
Python Tutorial - 11. Dictionaries and Tuples
codebasics
Python Tutorial - 12. Modules
codebasics
Python Tutorial - 13. Reading/Writing Files
codebasics
How to install Julia on Windows
codebasics
Python Tutorial - 14. Working With JSON
codebasics
Julia Tutorial - 1. Variables
codebasics
Julia Tutorial - 2. Numbers
codebasics
Python Tutorial - 15. if __name__ == "__main__"
codebasics
Julia Tutorial - Why Should I Learn Julia Programming Language
codebasics
Python Tutorial - 16. Exception Handling
codebasics
Julia Tutorial - 3. Complex and Rational Numbers
codebasics
Julia Tutorial - 4. Strings
codebasics
Python Tutorial - 17. Class and Objects
codebasics
Julia Tutorial - 5. Functions
codebasics
Julia Tutorial - 6. If Statement and Ternary Operator
codebasics
Julia Tutorial - 7. For While Loop
codebasics
Python Tutorial - 18. Inheritance
codebasics
Julia Tutorial - 8. begin and (;) Compound Expressions
codebasics
Python Tutorial - 12.1 - Install Python Module (using pip)
codebasics
Julia Tutorial - 9. Tasks (a.k.a. Generators or Coroutines)
codebasics
Julia Tutorial - 10. Exception Handling
codebasics
Python Tutorial - 19. Multiple Inheritance
codebasics
Python Tutorial - 20. Raise Exception And Finally
codebasics
Python Tutorial - 21. Iterators
codebasics
Python Tutorial - 22. Generators
codebasics
Python Tutorial - 23. List Set Dict Comprehensions
codebasics
Python Tutorial - 24. Sets and Frozen Sets
codebasics
Python Tutorial - 25. Command line argument processing using argparse
codebasics
Debugging Tips - What is bug and debugging?
codebasics
Debugging Tips - Conditional Breakpoint
codebasics
Debugging Tips - Watches and Call Stack
codebasics
Python Tutorial - 26. Multithreading - Introduction
codebasics
Git Tutorial 3: How To Install Git
codebasics
Git Tutorial 1: What is git / What is version control system?
codebasics
Git Tutorial 2 : What is Github? | github tutorial
codebasics
Git Tutorial 4: Basic Commands: add, commit, push
codebasics
Git Tutorial 5: Undoing/Reverting/Resetting code changes
codebasics
Git Tutorial 6: Branches (Create, Merge, Delete a branch)
codebasics
Git Github Tutorial 10: What is Pull Request?
codebasics
Git Tutorial 7: What is HEAD?
codebasics
Git Tutorial 9: Diff and Merge using meld
codebasics
Difference between Multiprocessing and Multithreading
codebasics
Python Tutorial - 27. Multiprocessing Introduction
codebasics
Python Tutorial - 28. Sharing Data Between Processes Using Array and Value
codebasics
Git Tutorial 8 - .gitignore file
codebasics
Python Tutorial - 29. Sharing Data Between Processes Using Multiprocessing Queue
codebasics
Python Tutorial - 30. Multiprocessing Lock
codebasics
Python Tutorial - 31. Multiprocessing Pool (Map Reduce)
codebasics
What is code?
codebasics
Python unit testing - pytest introduction
codebasics
Related AI Lessons
⚡
⚡
⚡
⚡
Bloom Filters, Explained Properly
Dev.to · Daksh Gargas
Prefix Sums: The Preprocessing Trick That Makes Range Queries Instant
Medium · Programming
I Thought I Was Ready for the Interview — Then One Simple Math Question Destroyed Me
Medium · Programming
Week 2(Day 10): LeetCode Two Pointers(slow & fast): Remove Duplicates from Sorted Array (Brute…
Medium · Python
Chapters (6)
Overview
2:15
How to solve issue sharing data between the process
2:21
What is shared memory
2:41
Use shared memory in a process using an array
3:37
Shared memory methods enumerate()
5:15
Use shared memory in the process using the value
🎓
Tutor Explanation
DeepCamp AI