USEFUL DEFINITIONS TO UNDERSTAND REFERENCES
- Definition of Multiprocessing - taking advantage of cpu multiple cores, 2 process running concurrently like in different machines
- Blocking and non-blockin system call
REFERENCES
- Difference between Multiprogramming, Multitasking, Multithreading and Multiprocessing
- Difference between user level threads and Kernel Level threads
- User level threads are handled by an applicaton library - can’t run concurrently, very lightweight in regards to memory, contex switch without high overhead If however blocking system call is called which blocks the all process, this does not work well
- Kernel level threads are handled by the kernel (exactly like processes, but in a different table) can take advantage of multiprocessing, need more memory , context switch is expensive.
- Comparison as table
- Thread memory sharing
- Process memory distribution
MULTITHREADING IN PYTHON
USEFUL DEFINITIONS TO UNDERSTAND REFERENCES
- Threading library does not allow multiprocessing, but Multiprocessing library does.
- Threading context switch ligther - good if you dont have process blocking calls.
REFERENCES*