I am trying to understand the advantages of multiprocessing over threading. I know that multiprocessing gets around the Global Interpreter Lock, but what other advantages are there, and can threading not do the same thing?
The multiprocessing module uses a process that runs on separate memory space. Due to this, it is harder to share objects between process and multiprocessing.
Its code is usually straightforward.
It takes advantage of multiple CPUs & cores
Avoids GIL limitations for CPython
Here we can interrupt/kill the Child processes.
Python multiprocessing module has very useful abstractions with an interface much like threading.
IPC a little more complicated with more overhead (communication model vs. shared memory/objects)
Larger memory footprint(it uses more amount of main memory space).
The threading module uses thread (A thread is an entity within a process that can be scheduled for execution. Also, it is the smallest unit of processing that can be performed in an Operating System).
Since threads use the same memory space(amount of memory assigned to any program by CPU), precautions have to be there because both the threads will write to the same memory at the same time. For this, we have the global interpreter lock.
It is lightweight - low memory footprint(it uses less amount of main memory).
As it has shared memory that makes access to one state from others is easy.
It also allows you to easily make responsive UIs.
CPython - subject to the GIL.
It is not interruptible/killable.
Certification in Digital Marketing |
Certification in Big Data Analytics |
Certification in Cloud & Devops |
Certification in Full Stack Web Development
Big Data and Data Science Master’s Course |
Data Science Architect Master’s Program |
Cloud and DevOps Architect Master’s Course |
Artificial Intelligence Engineer Master’s Course |
Microsoft Azure Certification Master’s Training
Data Science Course Online |
Big Data Hadoop Certification Training |
Machine Learning Course Online |
Artificial Intelligence Course and Training |
Salesforce Certification Training: Administrator and App Builder |
Tableau Training and Certification Course |
Python Data Science Course & Training |
Ethical Hacking Course |
Business Analyst Course |
Courses in Cyber Security
© COPYRIGHT 2011-2021 INTELLIPAAT.COM. ALL RIGHTS RESERVED.
Download Salary Trends Now !
Learn how professionals like you got up to 100% Salary Hike.